В предыдущей статье было показано, как слегка изменив код компонента выдачи статьи, добиться вставки рекламного объявления Google AdSense между вступлением и основной частью статьи в Joomla. В этой статье, продолжая тему развёртывания монетизации на сайте с помощью Google AdSense, рассмотрим то, как вставить рекламное объявление AdSense сразу после статьи. Механизм точно такой же, но со времени написания предыдущей статьи прошло некоторое время и я пересмотрел некоторые вопросы, которые позволят делать это ещё более изящно. =) Изменения в предыдущую статью я внёс, поэтому сразу приступим к делу:
Создание файла с текстом рекламного объявления Google AdSense
Можно конечно работать с модулями и в каждую статью вставлять объявления ручками. Но,
- во-первых, это отнимает время;
- во-вторых, если что-то меняется, то менять приходится снова ручками и во всех местах;
- в-третьи, есть куда более простые и изящные решения. ; )
Для того, чтобы обеспечить доступ до текста вставки объявления, который предлагает Google AdSense, расположим его в текстовом файле в папке шаблона сайта.
- Создадим папку
includes
в файловой структуре действующего шаблона (у меня стоит Protostar). - В этой папке создадим файл
GaD-inarticle-down.php
. - В этот файл вставим код объявления Google AdSense.
Изменение кода компонента com_content
Для того, чтобы объявление Google AdSense подгружалось в конец статьи из созданного в предыдущем пункте файла, нужно слегка поправить код движка Joomla, отвечающий за вывод полного текста статьи. Это файл view.html.php
и он лежит в папке
/components/com_content/views/article/view.html.php
Доступа к этому файлу из админки Joomla нет, поэтому приходится использовать сторонние средства для доступа к нему. Я для этих целей использую «Менеджер файлов» ISP-manager моего хостинга firstVDS.
Для того, чтобы вставить в нужное место данные из файла GaD-inarticle-down.php
, нужно в районе 170-х строк файла view.html.php
внести следующие правки:
Было:
// NOTE: The following code (usually) sets the text to contain the fulltext, but it is the
// responsibility of the layout to check 'access-view' and only use "introtext" for guests
if ($item->params->get('show_intro', '1') == '1')
{
$item->text = $item->introtext . $item->fulltext;
}
Стало:
// читаем код рекламного блока в переменную $AdSense2
$AdSense2 = file_get_contents('./templates/protostar/includes/GaD-inarticle-down.php');
// NOTE: The following code (usually) sets the text to contain the fulltext, but it is the
// responsibility of the layout to check 'access-view' and only use "introtext" for guests
if ($item->params->get('show_intro', '1') == '1')
{
$item->text = $item->introtext . $item->fulltext . $AdSense2; // выводим переменную $AdSense2 сразу после fulltext
}
Пояснения
Как видно из кода (см. Было) в начальном варианте в 168-й строке происходит слияние вводной части статьи и её основной части.
Для того, чтобы вставить после статьи код, расположенный в файле GaD-inarticle-down.php
, нужно (см. Стало) в 165-ю строчку прочитать его в переменную $AdSense2
, а после, в 171-й строчке добавить эту переменную в вывод статьи.
Вот и всё. Если что-то не получается или остались вопросы. Их можно задать в форме, расположенной ниже (или на форуме, в теме этой статьи).
Заберите ссылку на статью к себе, чтобы потом легко её найти!
Раз уж досюда дочитали, то может может есть желание рассказать об этом месте своим друзьям, знакомым и просто мимо проходящим?
Не надо себя сдерживать! ;)