Главная > Программирование > Установка плагина ContentAds на Joomla! 3.2

Установка плагина ContentAds на Joomla! 3.2

Давно хотел на джумловских сайтах размещать рекламу от Google Adsense в теле поста. Встроенными средствами этого не сделать, нужно установить дополнительные компоненты. После недолгих поисков остановился на плагине CONTENTADS 1.0.4, скачал отсюда. Его для таких целей рекомендует большинство пользователей, ну и я теперь тоже 🙂

Сегодня первый раз ставил плагин CONTENTADS 1.0.4 на один сайт, использующий CMS Joomla! версии 3.2.0, ход установки и настройки и решил здесь описать, так как самому пришлось немного помучиться с ошибкой Strict Standards: Only variables should be assigned by reference in. Но все возникающие мелкие проблемы вполне решаемы, даже для рядовых пользователей. Итак, к делу.

Устанавливаем плагин стандартными средствами Joomla!

Сначала идём в «Расширения» -> «Менеджер расширений», в левом вертикальном меню жмём «Установка», с помощью обзора ищем на компьютере zip-архив плагина, нажимаем «Загрузить и установить». Если с CMS всё в порядке — устанавливается без проблем, по крайней мере у меня было так. Не забываем включить плагин. Для этого идём в «Расширения» -> «Менеджер плагинов» и ищем в списке наш только установленный плагин «Content — ContentAds». Если рядом с ним слева красный кружок с белым крестиком — на крестик надо нажать, чтобы он сменился на зелёную птичку — теперь плагин включен. Пока не закрываем этот список.

Что ж, пришла пора проверить ContentAds в работе. В списке плагинов кликаем по названию «Content — ContentAds» и переходим на страницу его настроек. Изначально наша цель была разместить рекламу в теле поста, поэтому в поле «Inside content ads» помещаем html-код нашей рекламы (ну, код объявления с AdSens-а, например, или ещё откуда…), далее в расположенном ниже поле «Parragraph count before insert ‘inside’ ads» ставим нужную циферку (это номер абзаца, вслед за которым плагин будет вставлять рекламный код, наверное оптимально поставить 2 или 3) и нажимаем «Сохранить и закрыть».

Открываем в браузере любой пост на нашем сайте. Скорее всего мы увидим следующее. Реклама чётко встала там, где и планировалось, но перед статьёй появились строки об ошибке, начинающиеся словами «Strict Standards: Only variables should be assigned by reference in…», типа таких:

Strict Standards... ошибка, возникающая при установке плагина CONTENTADS 1.0.4 на Joomla! 3.2

Это что-то связанное с небольшой некорректностью php-кода плагина ContentAds; несоответствия его каким-то там строгим стандартам, хотя он работоспособен. Лечится двумя способами.

Способ 1.

Отключить в админке Joomla! сообщения об ошибках. Да, сообщения исчезнут, но может случиться так, что при дальнейшей вашей работе над сайтом, установке каких-н. расширений, возникнет ещё какая-то некорректность/неправильность/неработоспособность — снова надо будет включать (а перед этим надо будет ещё вспомнить!!! 🙂 ), поэтому этот способ мне не подошёл, и я полез в Гугл искать что может быть не так с кодом. Нашёл.

Способ 2.

Открываем панель управления хостингом и находим файл плагина contentads.php, путь к которому есть:

{корень сайта}/plugins/content/contentads/contentads.php

Скачиваем и открываем этот файл в текстовом редакторе или любом html-редакторе. Внимание!!! Настоятельно рекомендуется Notepad++ и настоятельно НЕ рекомендуется стандартный Notepad в составе Windows.

В строках 16, 57, 110, 123 ищем имя &JFactory и исправляем его на JFactory, т.е. просто убираем амперсенд. В строках 110 и 123 амперсенд отделён пробелом — убираем и его. Что это значит — не знаю, не очень разбираюсь в PHP, да и не стремился разобраться, мне главное было чтобы заработало.

Например, строка 16:
было
$app = &JFactory::getApplication();
стало
$app = JFactory::getApplication();

Строка 110:
было
$user = & JFactory::getUser();
стало
$user = JFactory::getUser();

Сохраняем и закидываем обратно на сервер.

Конечно, можно и удалённо редактировать, если позволяют возможности.

После этого предупреждения об ошибках должны исчезнуть. Вот и всё, плагин работает.

Надеюсь, что эта статья вам помогла.

  1. Пока что нет комментариев.
  1. Пока что нет уведомлений.