tecnodesignc / adsense-module
EncoreCMS的Adsense模块
Requires
- php: >=7.1.0
- composer/installers: ~1.0
Requires (Dev)
- orchestra/testbench: 3.5.*
- phpunit/phpunit: ~6.0
This package is auto-updated.
Last update: 2024-09-29 06:08:38 UTC
README
特别感谢
Nicolas Widart为EncoreCMS及其菜单模块,该模块被用作Adsense模块的基础。
安装
您可以使用composer安装Adsense模块: composer require tecnodesignc/adsense-module
模块安装后,您需要在EncoreCMS中为自己授权(使用角色/权限)。侧边栏中将出现新的空间项目
使用方法
先决条件
默认情况下,空间模块使用Bootstrap Carousel https://bootstrap.ac.cn/javascript/#carousel 创建,因此请确保已加载所有标准的Bootstrap Carousel先决条件(Bootstrap Carousel CSS和JS)。
基本使用
您可以使用EncoreCMS管理员界面创建基本空间 - 您可以创建和命名空间(请注意“系统名称”字段,它将在稍后用于渲染),并创建单独的广告。广告可以链接到媒体模块中的图像,或指向外部图像的URL。它们还可以包含指向网站任何页面的超链接,固定URI或URL。
创建空间后,您可以在模板中使用 {!! Space::render('space_system_name') !}}
来渲染它。
高级使用
使用您自己的空间模板
如果您想更改空间的渲染方式,可以使用自定义HTML、CSS类等,您可以将Blade模板名称作为第二个参数传递给 render()
方法,例如 !!{ Space::render('space_system_name', 'space/my-own-space') !!}
模板可能看起来像这样
{-- Themes/MyTheme/views/space/my-own-space.blade.php --} <div id="{{ $space->system_name }}" class="my-own-space-class"> @foreach($space->ads as $index => $ad) <div class="ad"> <a href="{{ $ad->getLinkUrl() }}"> <img src="{{ $ad->getImageUrl() }}" /> </a> </div> @endforeach </div>
您将在 $space
变量中有一个可用的 Modules\Adsense\Entities\Space
实例
提供您自己的空间实例
您还可以传递一个 Modules\Adsense\Entities\Space
实例作为第一个参数,而不是空间 system_name
,以动态渲染空间。
首先,在控制器中创建空间实例并添加广告,然后将其传递到视图中
<?php ... // import classes needed to create your own instance use Modules\Adsense\Entities\Space; use Modules\Adsense\Entities\Ad; class HomepageController { ... /** * controller method */ public function displayHomepage() { // make a new Space instance $mySpace = new Space; $mySpace ->system_name = 'custom_space'; // create ad 1 $ad1 = new Ad; $ad1->title = 'First Ad'; $ad1->caption = 'First ad text'; $ad1->external_image_url = 'https://placeholdit.imgix.net/~text?txtsize=33&txt=Ad1&w=800&h=300'; // create ad 2 $ad2 = new Ad; $ad2->title = 'Second Ad'; $ad2->caption = 'Second ad text'; $ad2->external_image_url = 'https://placeholdit.imgix.net/~text?txtsize=33&txt=Ad2&w=800&h=300'; // add ads to space $mySpace->ads->add($ad1); $mySpace->ads->add($ad2); // render view return View::make('homepage') ->with('mySpace', $mySpace); }
然后,在 homepage.blade.php
模板内部,您可以使用 !! Adsense::render('system_name', 'template') !!}
来渲染空间