Вставка рекламных баннеров в новость


Модуль, подключаемый через систему плагинов DLE, позволяет вывести в редакторе TinyMCE при добавлении или редактировании новости кнопку выбора и вставки рекламных баннеров.

Баннеры берутся из раздела рекламных материалов:
Вставка рекламных баннеров в новость


В новость код вставляется вида:
[banner_news]{banner_news}[/banner_news]



vstavka-reklamnyh-bannerov-v-novost.zip
Создайте аккаунт или авторизуйтесь для скачивания
 
Версия DLE: 17.0
Автор: ravchik
Информация
Посетители, находящиеся в группе Гость, не могут оставлять комментарии к данной публикации.

Комментариев 2

soiled Во вторник в 19:01
С помощью AI получилось исправить. Файл engine/ajax/banners.php
<?php

$banners = get_vars( "banners" );
if( !is_array( $banners ) ) {
    $banners = array ();    
    $db->query( "SELECT * FROM " . PREFIX . "_banners ORDER BY id ASC" );    
    while ( $row_b = $db->get_row() ) {        
        $banners[$row_b['id']] = array ();        
        foreach ( $row_b as $key => $value ) $banners[$row_b['id']][$key] = $value;
    }
    set_vars( "banners", $banners );
    $db->free();
}
$list = [];
foreach($banners as $b){
    $tag = "[banner_".$b['banner_tag']."]{banner_".$b['banner_tag']."}[/banner_".$b['banner_tag']."]";
    $list[] = "<tr><td>".$b['descr']."</td><td>"."<a href=\"#\" data-ins=\"".$tag."\" class=\"btn bg-teal btn-sm btn-raised\">Вставить баннер</a></td></tr>";
}
$bannlist = implode('', $list);
?>
<style>
    table {width:100%;border:0;}
    tr:nth-child(odd) {background:rgba(0,0,0,.1);}
    td {padding:0.75em;}
    td:last-child {text-align:right;}
</style>
<table><?php echo $bannlist; ?></table>
<script>
    $(function(){
        $('[data-ins]').on('click', function(){
            parent.tinyMCE.execCommand('mceInsertContent',false, $(this).data('ins'));
            $('#banners').dialog('close');
            return false;
        })
    })
</script>
soiled Во вторник в 10:15
Жаль, что на DLE 15.2 версии не работает