Вставка рекламного объявления Google AdSense сразу после статьи в Joomla

В предыдущей статье было показано, как слегка изменив код компонента выдачи статьи, добиться вставки рекламного объявления Google AdSense между вступлением и основной частью статьи в Joomla. В этой статье, продолжая тему развёртывания монетизации на сайте с помощью Google AdSense, рассмотрим то, как вставить рекламное объявление AdSense сразу после статьи. Механизм точно такой же, но со времени написания предыдущей статьи прошло некоторое время и я пересмотрел некоторые вопросы, которые позволят делать это ещё более изящно. =) Изменения в предыдущую статью я внёс, поэтому сразу приступим к делу:

Старт! Честный VDS/VPS, на котором «Лунная База» живет уже 20+ лет

Задумываетесь о том, чтобы поднять свой pet-проект, сайт клиента или настроить окружение для разработки? Уже пора подумать, где арендовать железо.

Лунная База хостится на FirstVDS более 20 лет. Мыслей о том, чтобы перебраться на другой хостинг, не было ни разу (хотя опыт работы с другими вариантами, конечно, есть).

Бывали разные ситуации, но они бывают на любом железе. Главное, что нужно понять: здесь нет маркетинговой шелухи и сказок про «мы всё сделаем за вас». Если вы берете VDS — вам дают полный root, возможность накатить любую ОС и не лезут в ваши конфиги.

Если в саппорт написать с вопросом по вашему коду и получить ответ: «Читайте документацию и разбирайтесь сами» или «Обратитесь к профильному специалисту» — это не повод обижаться. Это повод углубить свои знания в DevOps и сайтостроении! Бегите от тех, кто пообещает: «Мы всё чиним и настраиваем абсолютно бесплатно!». Никто никогда не работает «по доброте душевной» в ущерб себе, а бесплатный сыр в администрировании обычно заканчивается сломанной базой данных.

Что по факту: Гибкое масштабирование ядер и RAM, экономия по сравнению с физическими серверами и адекватная панель ispmanager, если она вам нужна.



Создание файла с текстом рекламного объявления Google AdSense

Можно конечно работать с модулями и в каждую статью вставлять объявления ручками. Но,

  • во-первых, это отнимает время;
  • во-вторых, если что-то меняется, то менять приходится снова ручками и во всех местах;
  • в-третьи, есть куда более простые и изящные решения. ; )

Для того, чтобы обеспечить доступ до текста вставки объявления, который предлагает Google AdSense, расположим его в текстовом файле в папке шаблона сайта.

  1. Создадим папку includes в файловой структуре действующего шаблона (у меня стоит Protostar).
  2. В этой папке создадим файл GaD-inarticle-down.php.
  3. В этот файл вставим код объявления 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-й строчке добавить эту переменную в вывод статьи.

Вот и всё. Если что-то не получается или остались вопросы. Их можно задать в форме, расположенной ниже (или на форуме, в теме этой статьи).

Самый честный хостинг за 20+ лет существования Лунной Базы

Задумываешься о том, чтобы поднять свой сайт в Интернете? Уже пора подумать о том, какой хостинг выбрать?

Лунная База хостится 20+ лет на firstDVS. При этом, мыслей о том, чтобы перебраться на другой хостинг не было. (Но, при этом есть опыт работы с другими вариантами.)

Бывали с firstDVS разные ситуации, но, они бывают на всех хостингах. Единственное, что тут важно понять, - это то, что никто ничего тебе не будет впаривать... Но, и работать за тебя тоже никто не станет. Если в саппорт ответили: «Читайте по ссылке и разбирайтесь сами...» или вообще «Обратитесь за помощью к специалисту», - это повод углубить свои знания в области сайтостроения, а не бежать к тем, что пообещают: «Мы всё чиним и всё делаем за своих клиентов абсолютно бесплатно!» Никто никогда ничего ни за кого "по доброте душевной" не делал, не делает и не будет делать!

Старт! Горячий старт на просторы интернета
Старт! Горячий старт на просторы интернета
Старт! Меню