+2.25
Рейтинг
10.09
Сила

Алексей

  • avatar wasq05
  • 0
Итак, как это сделано у меня:

1. файл ~/engine/lib/external/Smarty/libs/plugins

В этой директории заводим файлик с именем function.sape.php. В нём пишем непосредственно код. Выглядит он примерно так:
<?php
  function smarty_function_sape($params,&$smarty)
  {
    define('_SAPE_USER', 'ваш_длинный_код');
    require_once($_SERVER['DOCUMENT_ROOT'].'/'._SAPE_USER.'/sape.php');
    $o['charset'] = 'UTF-8';
    $sape = new SAPE_client($o);
    unset($o);
    return $sape->return_links();
  }
?>


2. /templates/skin/new/sidebar.tpl

Чтобы Sape появилась в сайдбаре добавим в его конец просто вызов {sape}. С равным успехом это можно добавлять и в любой другой шаблон.
есть решение, кому то делал давно, если нужно — в личку
  • avatar kerby
  • 0
В файле шаблона actions/ActionTopic/add.tpl после подключения хэдера вставить условие
{if $oUserCurrent->getSkill()>=xx}

В конце, перед подключением футера вставить

{else}
У вас недостаточно кармы, чтобы писать топики.
{/if}


Соответственно xx — количество требуемой кармы, ну и вместо сообщения о недостаточности можете написать что угодно.
Здравствуйте!
Не могли бы вы подсказать, как подцепить к другому хуку? А то в футере кроме hook_body_end ничего и нет. Хотелось бы, что б выводился текст справа внизу (как у вас).

И еще вопрос не по теме (поиск не помог): Как сделать вывод ссылок на стат. страницы как у вас (в 4 столбика)?
Заранее благодарен.
давно уже сделано подобное решение, да и делается в 15-20 минут, пользуйтесь.
Может и автору понравится добавит в офф )
в общем, на вопрос, как убрать вывод топиков-объявлений из блогов, отвечу тут:
идем в файл site.ru/classes/modules/topic/mapper/Topic.mapper.php
находим функции

public function GetCountTopics($aFilter) {

и

public function GetTopics($aFilter,&$iCount,$iCurrPage,$iPerPage) {

в них после

WHERE 
1=1

добавляем строку

AND NOT topic_type='goods'

Получается

WHERE 
.................
1=1
AND NOT topic_type='goods'					
".$sWhere."
.................

Всё.
Может, где-то еще нужно, но пока все ок.
PS на главную объявления так же перестанут попадать.
после установки (apt-get install memcached php5-memcache) ребут
/etc/init.d/apache2 restart
/etc/init.d/memcached restart

делали? в top демон мемкеша висит?
  • avatar xyz
  • 0
/templates/skin/[имя скина]/actions/ActionProfile/whois.tpl
Пишу полностью что и как.
Открываем файл /classes/hooks/HookStatisticsPerformance.class.php
После
class HookStatisticsPerformance extends Hook {
	public function RegisterHook() {
		$this->AddHook('template_body_end','Statistics',__CLASS__,-1000);


Добавляем
$this->AddHook('topic_show','TopicShow');


Далее, после
public function Statistics() {
		$oEngine=Engine::getInstance();
		
		$iTimeInit=$oEngine->GetTimeInit();
		$iTimeFull=round(microtime(true)-$iTimeInit,3);
		$this->Viewer_Assign('iTimeFullPerformance',$iTimeFull);
		
		$aStats=$oEngine->getStats();
		$aStats['cache']['time']=round($aStats['cache']['time'],5);
		$this->Viewer_Assign('aStatsPerformance',$aStats);
		
		$this->Viewer_Assign('bIsShowStatsPerformance',Router::GetIsShowStats());
		return $this->Viewer_Fetch('statistics_performance.tpl');
	}


Добавляем
public function TopicShow($aParams) {
        $oTopic=$aParams['oTopic'];
        $oTopic->setCountRead($oTopic->getCountRead()+1);
        $this->Topic_UpdateTopic($oTopic);
    }


В шаблоне добавляем в topic.tpl или в topic_list.tpl
{$oTopic->getCountRead()}
Например обличить их в блок
<div style="float: left; width: 50%;">
Шаблон новости...
</div>