Кнопки социальных сетей в Joomla 2.5

Куда внедрять?
Какие и где взять?
  Блок Поделиться от Яндекса и панель от Pluso
  Плавающая вертикальная панель от Share42
Выборочное размещение


Плагин RusButtonsКак и обещал в одной из статей цикла "Миграция с 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">

Теперь, разобравшись, куда и в каком случае мы будем встраивать скрипты наших панелей, перейдем к теме, что именно встраивать. Об этом - в следующей статье.

Комментарии  

Blogfreely.net
0 # Blogfreely.net 26.01.2023 21:36
При продвижении ресурса в США необходимо использовать не только
ВЧ ключевые запросы, но также и СЧ и НЧ.
Ответить | Ответить с цитатой | Цитировать
dklada.ru
0 # dklada.ru 07.02.2023 09:05
Однако вы не можете протестировать SEO таким же образом из-за особенностей алгоритмов поисковых
систем.
Ответить | Ответить с цитатой | Цитировать
milkyway.cs.rpi.edu
0 # milkyway.cs.rpi.edu 13.02.2023 02:30
and other factors.
Ответить | Ответить с цитатой | Цитировать
http://fmw.ppij.com
0 # http://fmw.ppij.com 16.02.2023 12:08
We think that these factors play a significant role in creating a positive for the
clients.
Ответить | Ответить с цитатой | Цитировать
ключевые слова
0 # ключевые слова 18.02.2023 11:19
Это поможет компаниям, чтобы вернуться на правильный путь после окончания пандемии.
Ответить | Ответить с цитатой | Цитировать
Intensedebate.com
0 # Intensedebate.com 19.02.2023 02:16
Russians are usually comfortable doing business with
new companies.
Ответить | Ответить с цитатой | Цитировать
Keisha
0 # Keisha 06.03.2023 12:38
Appreciate it for this terrific post, І аm glad І detected this web site on yahoo.
Ответить | Ответить с цитатой | Цитировать

Добавить комментарий


Работая с этим сайтом, вы даете свое согласие на использование файлов cookie, необходимых для сохранения выбранных вами настроек, а также для нормального функционирования сервисов Google.