Существует несколько методов размещения контестной рекламы в Joomla.
Обычно для размещения на joomla-сайте Google Adsense используется стандартный пользовательский модуль, со вставленным в его тело кодом вызова объявлений при отключенном визуальном редакторе. Этот метод хорош при публикации рекламы на стандартных позициях модулей (в колонках, в хедере, футере), но с помощью него не удастся разместить контекстные объявления непосредственно в теле статьи (исключением является использование мамбота для публикации модуля внутри контента, но этот метод обернется засилием ненужных служебных тегов в статьях).
Как быть?
Гуглопоиск (яндекс по традиции показал себя поисковиком для домохозяек) подсказал подходящий вариант — мамбот размещения Google AdSense между анонсом и полным текстом статьи Joomla — InlineAds. Этот простой мамбот делает простую вещь — вставляет код объявления AdSense между анонсом и полным текстом joomla-статьи.
Так как мне требовалось размещение рекламы после всего текста статьи в мамбот была добавлена соответствующая настройка.
Также из этого простого мамбота можно сделать простейший, а именно убрать все настройки, например настройки форматирования (отступы и цвета бордеров, кому они сдались?), пример минимального кода:
<?php defined( '_VALID_MOS' ) or die( 'Restricted access' ); $_MAMBOTS->registerFunction( 'onPrepareContent', 'botMosInlineAds' ); function botMosInlineAds( $published, &$row, &$params, $page=0 ) { global $database, $_MAMBOTS; if ( $params->get( 'intro_only' ) ) { return; } if ( !isset($_MAMBOTS->_content_mambot_params['mosinlineads']) ) { // забираем из базы параметры мамбота $query = "SELECT params" . "\n FROM #__mambots" . "\n WHERE element = 'mosinlineads'" . "\n AND folder = 'content'" ; $database->setQuery( $query ); $database->loadObject($mambot); // сохраняем результат в переменной класса $_MAMBOTS->_content_mambot_params['mosinlineads'] = $mambot; } $mambot = $_MAMBOTS->_content_mambot_params['mosinlineads']; $botParams = new mosParameters( $mambot->params ); $botParams->def( 'adscode' ); $adscode_raw = $botParams->_params->adscode; // вырезаем <br /> теги, которые были добавлены функцией обработки текстовых полей (textareaHandling function) $adscode_raw = str_replace( "\r", "\n", $adscode_raw ); $adscode_raw = str_replace( "\n<br />", "\n", $adscode_raw ); if ( $adscode_raw != '' && $params->get( 'introtext' ) && $params->get( 'intro_only' ) == 0 ) { $row->text = $row->introtext . $adscode . ( $params->get( 'intro_only' ) ? '' : chr(13) . chr(13) . $row->fulltext); } return; } ?> |
Скачать мамбот размещения Google Adsense в статьях (материалах) Joomla InlineAds by WMDN.RU
Если у вас появилось желание сказать «спос» — поставьте, пожалуйста, ссылку на эту статью (либо давайте меняться) .
Здравствуйте.
Скачал и установил плагин InlineAds. Настроил и опубликовал. Но после этого перестал работать плагин No External Links. Выключаю InlineAds — Вновь работает.
Наверное конфликт в поочередности обработки контента. Подскажите, как решить проблему?
Привет Богдан. Местный мамбот InlineAds для joomla 1.0.X а no external links для joomla 1.5.X. Вы уверены что они стоят у вас на одном сайте?
Если это так будем разбираться .
Я использовал не местный InlineAds, а для версии 1,5 www.mantrag.com InlineAds Version 1.7
Что если попробовать поменять местами очередность их загрузки?
подскажите, а как правильно изменить очередность их загрузки, потому что InlineAds — имеет тип content, а No External Links — тип system ?
Судя по порядку выполнения API Joomla первыми запускаются системные плагины, запуска плагинов группы content в этом списке нет вообще, но их запуск легко найти поиском по коду строки JPluginHelper::importPlugin('content');.
Вывод: предположительно (с достаточно большой вероятностью) плагин InlineAds заново (после плагина No External Links) переписывает содержимое свойств $row->introtext и $row->fulltext объекта содержимого статьи и выдает их на странице. Идей как решить эту задачу пока нет.
интересно, возможно ли просто переделать плагин InlineAds, что-бы он имел тип system, или No External Links что-бы он имел тип content?
Переделать InlineAds в системный конечно можно, но задачу это не решает, т.е. кто последний тот и главный . Пока идей нет.
Спасибо за мамбот, очень помог.
Было дело решалось установкой мамбота mosauthoXTD там полей и настроек куча и первой строкой и последней и в полной новости и в предпросмотре.
Как пользоваться , устанитла включила а что дальше?
Суть использования в том, что имея аккаунт в google.ru вы можете создать блок контекстной рекламы в adsense.google.com и вставить его код в настройки плагина и с удобством показывать контекстную рекламу от гугла в любом удобном месте статьи.