Небольшой хак компонента закладок

+25
1.96K
Раз уж пошла тема про закладки, поделюсь и я своим решением.

Справедливости ради скажу, что есть достаточное количество вариантов на любой вкус.

Но после хака для индивидуального оформления блогов ко мне обратились с просьбой придумать что-то с закладками (и социальными и инстантовскими от Fuze), что бы их можно было перенести в другое место.

Вот и решил переделать немного плагин от компонента закладок, добавив к нему социальные закладки и возможность перенести ближе к названию записи.

Также решил вынести код закладок в отдельную переменю, чтобы было легче и понятнее куда вставлять. На тот случай если понравиться другой сервис.

Вряд ли нужен пример как это может выглядеть, но всеж...
Иллюстрация



В файле /plugins/p_bookmarks/plugin.php
Меняем последнюю функцию на следующую:
  1. private function echoBookmark($item, $target) {
  2.  
  3. // Код социальных закладок
  4. $cod_ot_servisa_zakladok='
  5.  
  6.  
  7. <script type="text/javascript" src="//yandex.st/share/share.js" charset="utf-8"></script>
  8. <div class="yashare-auto-init" data-yashareL10n="ru" data-yashareType="none" data-yashareQuickServices="yaru,vkontakte,facebook,twitter,odnoklassniki,moimir,lj,friendfeed,moikrug"></div>
  9.  
  10.  
  11. ';$bookmark='<div style="height: 32px;padding-top:10px"><div style="float:left;">'.$cod_ot_servisa_zakladok.'</div>';
  12. $inCore = cmsCore::getInstance();
  13. $href = $inCore->strClear($_SERVER['REQUEST_URI']);
  14. if (!$this->isBookmark($href)) {
  15. $bookmark.='<div id="zakctrl" class="favorite" align="right"><a title="Добавить в закладки" onclick="addBook(\''.$href.'\', \''.$target.'\', \''.$item['id'].'\')" href="javascript:void(0);"></a></div></div>';
  16. }else {
  17. $bookmark.='<div id="zakctrl" class="favorite" align="right"><a class="aktive" title="У Вас в закладках" href="/bookmarks"></a></div></div>';
  18. }
  19. $item['bookmark']=$bookmark;
  20. return $item;
  21. }


Дальше открываем шаблоны страниц, где будут выводиться закладки.
И в нужном нам месте, например над заголовком (или под ним), вставляем код вывода панели закладок

Имена файлов шаблонов и переменных, которые в них вставить:
в файле com_blog_view_post.tpl вставить {$post.bookmark}
в файлеcom_content_read.tpl вставить {$article.bookmark}
в файлеcom_photos_view_photo.tpl вставить {$photo.bookmark}
в файлеcom_clubs_view_club.tpl вставить {$club.bookmark}

К сожалению, по техническим причинам, пока не могу залить архив с измененными файлами((
В архиве измененный файл плагина и дефолтные шаблоны.
+2
Fuze Fuze 12 лет назад #
К сожалению, по техническим причинам, пока не могу залить архив с измененными файлами((
починили, заливайте.
+4
Maximov Maximov 12 лет назад #
Спасибо, залил!
0
Tagil-Rulit Tagil-Rulit 12 лет назад #
Комментариев совсем нет sad
Мах подскажите пожалуйста, на 1.8 будет работать?
0
nedoriko nedoriko 11 лет назад #
помню у меня работало

Еще от автора

Вставка видео с YouTube одной строкой (1.10.3)
- Всегда волнуюсь, когда красная полоска на YouTube догоняет серую. (с) Плагин заменяет ссылку на видео с YouTube кодом плеера.
Вывод рекламного блока в статье (v1.10.3)
В нашем медицинском справочнике - только самые лучшие болезни. © Плагин вставляет код рекламы внутри контента.
Автоматическая вставка фотографий альбома в статьи и блоги (v1.10.3)
"Сходил на фотоохоту, завалил 7 горизонтов.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.