tecnodesignc/adsense-module

EncoreCMS的Adsense模块

安装: 3

依赖项: 0

建议者: 0

安全性: 0

星星: 0

关注者: 1

分支: 0

类型:encore-module

0.0.1 2021-05-31 21:38 UTC

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') !!} 来渲染空间

资源