ADBLOCK_MSG
Кнопки социальных сетей в Joomla 2.5Опубликовано: 30.04.2013, 13:40 Автор: Ogri Просмотров: 27418
Кнопки социальных сетей в Joomla 2.5
Куда внедрять?
Какие и где взять?
Блок Поделиться от Яндекса и панель от Pluso
Плавающая вертикальная панель от Share42
Выборочное размещение
Как и обещал в одной из статей цикла "Миграция с Joomla 1.5 на Joomla 2.5", детально остановлюсь на вопросе интеграции социальных кнопок в сайт на Joomla 2.5.
Для Joomla 1.5 я использовал плагин социальных закладок RusButtons (немного подправив его). К сожалению, автор не переписал его под 2.5. Существующие решения в виде расширений Джумлы не удовлетворили, к тому же - где гарантия, что авторы будут их своевременно обновлять? Поэтому мой выбор - немного поработать ручками и вживить кнопочки в шаблон. Вариантов соцкнопок нашлось достаточно, но о них - в следующей статье. Здесь же будет описано, куда именно внедряются их скрипты.
Стандартный вариант - вставить панель кнопок в тело статьи перед содержимым или после него. Во втором случае, если используется компонент JComments, социальные кнопки можно интегрировать в его плагин. В этом случае кнопки будут появляться только в тех статьях, в которых включены комментарии. Отдельным вариантом будет рассматриваться вертикальная панель, которую можно подвесить в любом месте веб-страницы.
Итак, давайте разберемся, в код каких файлов и в какое именно место вставляются скрипты панелей кнопок.
1. В тело статьи перед содержимым или после него.
В общем случае редактируется файл components \ com_content \ views \ article \ tmpl \ default.php. В следующем фрагменте кода этого файла наглядно демонстрируется, куда вставляется панель кнопок:
/* ------------ More code..... ----------- */ <?php if (!empty($this->item->pagination) AND $this->item->pagination AND !$this->item->paginationposition AND !$this->item->paginationrelative): echo $this->item->pagination; endif; ?> /* =====> !!! Перед содержимым - Вставляем сюда */ <?php echo $this->item->text; ?> /* ------------ More code..... ----------- */ /* =====> !!! После содержимого - Вставляем сюда */ <?php if (!empty($this->item->pagination) AND $this->item->pagination AND $this->item->paginationposition AND $this->item->paginationrelative): echo $this->item->pagination;?> <?php endif; ?> <?php echo $this->item->event->afterDisplayContent; ?> </div> /* ------------ End of File ----------- */
Вышеописанное прекрасно работает в шаблонах, поставляемых с Джумлой по умолчанию - Beez2, Beez5, Atomic, а также во многих других. Однако есть множество шаблонов, где свой файл default.php перекрывает тот, который мы рассматривали выше. Например, мой шаблон, сделанный в Artisteer и являющийся активным на момент написания статьи. Покажу на его примере, куда внедрять код в этом случае.
Открываем на редактирование файл templates \ [my_template] \ html \ com_content \ article \ default.php.
/* ------------ More code..... ----------- */ if (!$article->introVisible) $content .= $article->event('afterDisplayTitle'); $content .= $article->event('beforeDisplayContent'); /* =====> !!! Перед содержимым - Вставляем сюда */ if (strlen($article->toc)) $content .= $article->toc($article->toc); /* ------------ More code..... ----------- */ if (strlen($article->readmore)) $content .= $article->readmore($article->readmore, $article->readmoreLink); /* =====> !!! После содержимого - Вставляем сюда */ if ('below full article' === $article->paginationPosition) $content .= $article->pagination(); $content .= $article->event('afterDisplayContent'); $params['content'] = $content; // Render article echo $article->article($params); echo $component->endPageContainer(); /* ------------ End of File ----------- */
Надеюсь, принцип понятен и здесь. Единственное, что хочу уточнить - в этом случае весь скрипт страницы присваивается переменной $content
. Поэтому код кнопок не вставляется как есть, а добавляется к значению этой переменной в строковом представлении, т. е. обрамленный одинарными или двойными кавычками:
$content .= 'Блок кода кнопок';
2. Интеграция в JComments.
Редактировать будем файл components \ com_jcomments \ tpl \ default \ tpl_index.php. Тут все просто:
// include JComments JavaScript initialization ?> /* =====> !!! Вставляем сюда */ <script type="text/javascript">
Теперь, разобравшись, куда и в каком случае мы будем встраивать скрипты наших панелей, перейдем к теме, что именно встраивать. Об этом - в следующей статье.
Новые
-
20.07.2020, 00:53
Joomla 3: Перенаправление на ту же страницу после авторизации -
13.02.2017, 14:09
Joomla: как добавить свои языковые константы или переопределить существующие -
13.02.2017, 13:23
Joomla: Интегрируем reCAPTCHA v2 (NO CAPTCHA) в JComments -
23.06.2016, 10:48
Единая фильтрация вывода модуля mod_jcomments_latest -
13.09.2015, 13:06
Постим иллюстрированные статьи Joomla-сайта на Facebook, используя OG-теги
Популярные
-
118556
Миграция с Joomla 1.5 на Joomla 2.5. Ч.2-1. Перенос jDownloads и jComments -
87850
Joomla: Интегрируем reCAPTCHA v2 (NO CAPTCHA) в JComments -
63887
Редактирование анимированных GIF-имиджей в Photoshop CS3 -
61618
Joomla: как добавить свои языковые константы или переопределить существующие -
45031
Цифровые коды WEB (веб) цветов для сайта
Авторизация
Гитара
Гостевая колонка
Последние комментарии
-
Joomla: Интегрируем reCAPTCHA v2 (NO CAPTCHA) в JComments
-
Тест
25.08.2020 11:37
Не выводит сообщение об ошибке, если галку не нажать в рекапче
-
Николай3333
05.08.2020 07:55
Неужели работает?
-
Дарья Смирнова
29.07.2020 06:02
Здравствуйте, все вроде сделала по инструкции, но точно так же никаких изменений. Разве что теперь ...
-
ТвойБро
24.03.2020 03:42
Огромное спасибо, помогло. Странно, что по дефолту в jcomments предлагает в настройках выбрать ...
-
Валерий
21.02.2020 03:25
Проверка
-
Денис
02.01.2020 21:21
УРАААА! Заработало после очистки кэша сайта! Спасибо!
-
Денис
02.01.2020 20:56
Забыл сказать, что этот вариант установился на сайт, но по-прежнему при использовании reCAPTCHA ...
-
Вованя
25.12.2019 18:31
12345
-
Вованя
25.12.2019 18:31
Проверка, просто проверяю. раз раз раз)
-
Тест
25.08.2020 11:37
-
Миграция с Joomla 1.5 на Joomla 2.5. Ч.2-1. Перенос jDownloads и jComments
-
Андрей67
11.08.2020 16:54
У меня такая же картина, нет кнопки Импорт. как быть?
-
Андрей67
11.08.2020 16:54
Комментарии
Только на Share42 нет этих ссылок, но у меня не получается корректно использовать этот скрипт. Ссылки на страницу не указываются. Пытался прикрутить его к страницам товаров в virtuemart.
Так что не знаю даже, что вам посоветовать, кроме как тщательно погуглить, если вам исходящие так уж сильно мешают жить. Извините.
Я так сделла на сайте.
Но с другой стороны Вы ссылаетесь на трастовые ресурсы, поэтому можно в принципе и не закрывать от индексации (ИМХО).
Во-вторых, кнопки делают ссылку на сайт, а не на страницу.
И о каком производителе кнопок вы говорите? В статье, которую вы прокомментировали, описано, в какие файлы движка и куда именно внедрять скрипты неких гипотетических кнопок. Примеры конкретных кнопок от конкретных производителей рассматриваются в двух следующих статьях. Во всех случаях открываются, разумеется, страницы, а не сайт в целом, и этот функционал реализован именно в скриптах производителей. То, что в этих статьях для иллюстрации вставлены (причем как раз по описываемой методике) все рассматриваемые варианты, и можно легко убедиться, что всё работает как надо, бесспорно, свидетельствует только в пользу вашего, уважаемый, мнения. Да и я вот уже полтора года использую этот способ, и работает он, видимо, только в моем горячечном бреду.
Ув. rotor, если у вас есть конкретные вопросы, я с удовольствием на них отвечу. На подобное же замечание - это всё, что мне есть сказать.
У меня вопрос (немного не по теме):
Подскажите пожалуйста. Когда ставлю модуль "Материалы - Новости" он выводит заголовки с тегом h от 1 до 5 на выбор. Как убрать тэг h? Потому что на странице получается переизбыток заголовков с тегами, нерелевантность и т.п. Хотелось бы, чтобы просто ссылкой, как текст, без тэга h. ...потому что это плохо на ранжировании сказывается...или нет?
Насчет "переизбытка заголовков с тегами, нерелевантности и т.п", и сказывается ли это плохо на ранжировании - вопрос не ко мне, а к сеошникам. Насколько я знаю, заголовки как раз хорошо выводить с тегами h, но я могу ошибаться. Поменять же - легко, немного покастомизировав модуль.
Идите в папку [корень сайта]\modules\mod_articles_news. Откройте на редактирование файл mod_articles_news.xml. Найдите в нем "item_heading", там и заданы опции тега заголовка. Добавьте к существующим вашу. Например:
<option value="p">p</option>
Вместо p можете вставить div, span или любой другой тег. Сохраните файл, перегрузите страницу модуля в админке и выберите новую опцию.
Вывод каждой статьи в модуле задан в файле _item.php в подпапке tmpl. Если разбираетесь в кодах - можете глянуть и еще чего-нибудь поменять. Также можете добавить стили через Суффикс CSS-класса модуля.
При апдейтах ваши изменения могут слететь, придется их ручками восстанавливать. Так что проверяйте после каждого обновления. Удачи!
У меня Новые и Популярные - другие модули: mod_articles_latest и mod_articles_popular. Заголовки в них - обычные линки. Я, кстати, сильно усовершенствовал функционал этих модулей - добавил соответствующие параметры с иконками как в заголовках статей, а главное - сделал их контекстными. В ближайшие дни как раз планируется статья с описанием, если вам интересно - почитайте.
А насчет плотности заголовков - все эти тестовые сервисы обязаны ко всему придираться. Хотя для профилактики, наверное, стОит поправить, хуже не будет.