Где выводятся...

ЕСТЬ РЕШЕНИЕ ЗАКРЫТО
#1 20 января 2012 в 18:23

Модуль: Похожие статьи(в каком файле и как найти в коде этот модуль?). Плагин: Кнопка "Мне нравится"(в каком файле и как найти в коде этот плагин?) Спасибо.

Baxter
ахренеть, ничего не понял shock
#2 20 января 2012 в 18:47
Yurik, ну да плагин.
Но где именно эти плагины находятся в шаблоне? Они просто неудачно размещены.
#3 20 января 2012 в 19:01
Плагины просто так не перемещаются, сам задавался таким вопросом когда писал его.
можно либо над статьей, либо под ней, либо через смарти в шаблон(так и не дошли руки разобраться с последним и применить к плагину)
#4 20 января 2012 в 19:02
а модули перемещаются по позициям, покапайся в админке в модулях.
#5 20 января 2012 в 19:07


Yurik, ну да плагин.
Но где именно эти плагины находятся в шаблоне? Они просто неудачно размещены.

Baxter
Плагин добавляет к массиву $item['content'] "блок" с похожими статьями, а все ето передается уже в com_content_read.tpl в шаблоне
#6 20 января 2012 в 19:19
Максим Шорин, С модулями всё понятно. А вот мне нужно "Похожие статьи" переместить. Сейчас он под сразу под статьей едёт. А я хочу чтобы был между тегами и комментариями. Так само и с кнопкой "Мне нравится".
#7 20 января 2012 в 20:02
я задавал такой же вопрос на форуме, мне ответили что через смарти делать, я заленился.
передаю тебе эстафетную палочку laugh
#8 20 января 2012 в 20:15
Максим Шорин, уже готов её передать другому laugh
#9 20 января 2012 в 20:32


Максим Шорин, уже готов её передать другому laugh

Baxter
Да не все так страшно как кажеться, будет свободное время посмотрю.
#11 20 января 2012 в 20:45


Yurik, посмотри =)

Максим Шорин
Если по быстрому то:
1. открываем файл plugin.php из папки /plugins/p_morecontent
ищем там строчку
  1. if($morecontent) { $item['content'] .= '<h4>Похожие статьи:</h4>'.$morecontent; }
и меняем ее так
  1. if($morecontent) { $item['content_link'] .= '<h4>Похожие статьи:</h4>'.$morecontent; }
2. Открываем наш шаблон, папку components файл com_content_read.tpl
и в нужное нам место вставляем конструкцю типа
  1. <div>
  2. {$article.content_links}
  3. </div>
где {$article.content_links} и выводит ссылки на похожие материалы.
Вроде все.
#12 22 января 2012 в 17:16
Спасибо, помогло. Только в последнем не links, а link (чисто очепятка) smile
А вот как сделать с кнопкой "Мне нравится"?
Вот код, чтобы не качать.
<?php
/******************************************************************************/
// //
// InstantCMS v1.8 //
// instantcms.ru/ //
// //
// written by InstantCMS Team, 2007-2010 //
// produced by InstantSoft, (www.instantsoft.ru) //
// //
// LICENSED BY GNU/GPL v2 //
// //
/******************************************************************************/

class p_vk_like extends cmsPlugin {

// ==================================================================== //

public function __construct(){

parent::__construct();

// Информация о плагине

$this->info['plugin'] = 'p_vk_like';
$this->info['title'] = 'Кнопка vk "Мне нравится"';
$this->info['description'] = 'Плагин добавляет кнопку от вконтакта "Мне нравится" в статьи и в блоги ';
$this->info['author'] = 'MaiX icq 488074747';
$this->info['version'] = '1.0';

// Настройки по-умолчанию

$this->config['apiId'] = '123345(это вам знать не нужно :D)';

// События, которые будут отлавливаться плагином

$this->events[] = 'GET_ARTICLE';
$this->events[] = 'GET_POST';

}

// ==================================================================== //

/**
* Процедура установки плагина
* @return bool
*/
public function install(){

return parent::install();

}

// ==================================================================== //

/**
* Процедура обновления плагина
* @return bool
*/
public function upgrade(){

return parent::upgrade();

}

// ==================================================================== //

/**
* Обработка событий
* @param string $event
* @param mixed $item
* @return mixed
*/
public function execute($event, $item){

parent::execute();

switch ($event){
case 'GET_ARTICLE': $item = $this->eventGetArticle($item); break;
case 'GET_POST': $item = $this->eventGetBlogPost($item); break;

}

return $item;

}

// ==================================================================== //

private function eventGetArticle($item) {
echo '<script type="text/javascript" src="http://userapi.com/js/api/openapi.js?29"></script>';
echo '<script type="text/javascript">VK.init({apiId: '.$this->config['apiId'].', onlyWidgets: true});
</script>';
echo '<style type="text/css">
.like {
padding-top: 10px;
padding-bottom: 10px;
}
</style>';

echo '<div class="like" id="vk_like"></div><script type="text/javascript">VK.Widgets.Like("vk_like", {type: "button"});
</script>';

$this->saveConfig();

return $item;

}

private function eventGetBlogPost($item) {
echo '<script type="text/javascript" src="http://userapi.com/js/api/openapi.js?29"></script>';
echo '<script type="text/javascript">VK.init({apiId: '.$this->config['apiId'].', onlyWidgets: true});
</script>';
echo '<style type="text/css">
.like {
padding-top: 10px;
padding-bottom: 10px;
}
</style>';

echo '<div class="like" id="vk_like"></div><script type="text/javascript">VK.Widgets.Like("vk_like", {type: "button"});
</script>';

$this->saveConfig();

return $item;

}




// ==================================================================== //

}

?>
#13 23 января 2012 в 11:59


Спасибо, помогло. Только в последнем не links, а link (чисто очепятка) smile
А вот как сделать с кнопкой "Мне нравится"?
Вот код, чтобы не качать.


Baxter
Мне лично для такого дела нравится сервис AddThis, можно взять код и вставить в саму тпл-ку в нужное вам место.
#14 24 января 2012 в 00:25
Yurik, да пользовался, но оно не имеет такой вид какой я хочу.
А когда ввожу с контакта код мне нравится. То страницу не отображает, она становится белая.
#15 24 января 2012 в 11:06


Yurik, да пользовался, но оно не имеет такой вид какой я хочу.
А когда ввожу с контакта код мне нравится. То страницу не отображает, она становится белая.

Baxter

Какой именно виджет вам нужно?
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.