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

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

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

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

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

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

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



В файле /plugins/p_bookmarks/plugin.php
Меняем последнюю функцию на следующую:
Код PHP:
private function echoBookmark($item, $target) {

	// Код социальных закладок
   $cod_ot_servisa_zakladok='


<script type="text/javascript" src="//yandex.st/share/share.js" charset="utf-8"></script>
<div class="yashare-auto-init" data-yashareL10n="ru" data-yashareType="none" data-yashareQuickServices="yaru,vkontakte,facebook,twitter,odnoklassniki,moimir,lj,friendfeed,moikrug"></div>


	';$bookmark='<div style="height: 32px;padding-top:10px"><div style="float:left;">'.$cod_ot_servisa_zakladok.'</div>';
  	$inCore = cmsCore::getInstance();
  	$href   = $inCore->strClear($_SERVER['REQUEST_URI']);
  	if (!$this->isBookmark($href)) {
		$bookmark.='<div id="zakctrl" class="favorite" align="right"><a title="Добавить в закладки" onclick="addBook(\''.$href.'\', \''.$target.'\', \''.$item['id'].'\')" href="javascript:void(0);"></a></div></div>';
  	}else {
  		$bookmark.='<div id="zakctrl" class="favorite" align="right"><a class="aktive" title="У Вас в закладках" href="/bookmarks"></a></div></div>';
	}
    $item['bookmark']=$bookmark;
    return $item;
}


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

Имена файлов шаблонов и переменных, которые в них вставить:
в файле 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}

К сожалению, по техническим причинам, пока не могу залить архив с измененными файлами((
В архиве измененный файл плагина и дефолтные шаблоны.
Шапки блогов (хак) | Плагин - Антимат
Комментарии (4)
Fuze 26 октября 2011 в 08:39 +2
К сожалению, по техническим причинам, пока не могу залить архив с измененными файлами((
починили, заливайте.
Maximov 26 октября 2011 в 14:14 +4
Спасибо, залил!
Tagil-Rulit 19 января 2012 в 07:28 0
Комментариев совсем нет sad
Мах подскажите пожалуйста, на 1.8 будет работать?
nedoriko 20 июля 2012 в 01:53 0
помню у меня работало