+1.11
Рейтинг
15.59
Сила
  • avatar AlikMis
  • 1
Gосле второго десятка начинаешь уставать от таких вопросов
Еще раз что бы запомнили
Переменная {$sAction} в шаблоне содержит action
Переменная {$sEvent} в шаблоне содержит event
URL выглядит как _http://domain.ru/{$sAction}/{$sEvent}/{$aParams}
В вашем случае {if $sMenuItemSelect=='blog' && !($sAction=='blog' && $sEvent=='test')}
  • avatar PSNet
  • 1
{assign var="oUser" value=$oBlogTopic->getUser()}
{foreach from=$aTopics item=oTopic name=topic_list}
{if $smarty.foreach.topic_list.iteration is div by 5}width:150px{else}width:100px"{/if}
  • avatar PSNet
  • 0
прорекламируйте своего хостера, что ли.
  • avatar Rules
  • 0
При активации появляется ошибка админки:

Fatal error: Call to undefined method AceModulePlugin::getlist() in Y:\home\10.205.33.78\www\LS\plugins\aceadminpanel\classes\modules\plugin\Plugin.class.php on line 323


Потом сайт работает нормально, но при переходе в админку опять эта ошибка. В чем проблема?
Могу предложить вариант, который реализовал на одном из своих проектов (пример можно посмотреть тут на стене пользователя), где много предполагается много фотоматериалов. По клику фотография будет увеличиваться как в фотосете + под фотографией будет её описание. Для этого нужно отредактировать всего 2 файла.

1. В файле /engine/modules/image/Image.class.php в самом низу найти функцию public function BuildHTML и заменить следующим:

	public function BuildHTML($sPath,$aParams) {
		$sText='<a class="photoset-image" href="'.$sPath.'"><img src="'.$sPath.'" ';
		if (isset($aParams['title']) and $aParams['title']!='') {
			$sText.=' title="'.htmlspecialchars($aParams['title']).'" ';
			/**
			 * Если не определен ALT заполняем его тайтлом
			 */
			if(!isset($aParams['alt'])) $aParams['alt']=$aParams['title'];
		}
		if (isset($aParams['align']) and in_array($aParams['align'],array('left','right','center'))) {
			if ($aParams['align'] == 'center') {
				$sText.=' class="image-center"';
			} else {
				$sText.=' align="'.htmlspecialchars($aParams['align']).'" ';
			}
		}
		$sAlt = isset($aParams['alt'])
			? ' alt="'.htmlspecialchars($aParams['alt']).'"'
			: ' alt=""';
		$sText.=$sAlt.' /></a>
<div align="'.htmlspecialchars($aParams['align']).'"><font color="#888A85">'.htmlspecialchars($aParams['title']).'</font></div>';

		return $sText;
	}


2. В файле /config/jevix.php найти

			array(
				'img',
				array(...)
			),
и заменить на

			array(
				'img',
				array('src', 'alt' => '#text', 'title', 'align' => array('right', 'left', 'center', 'middle'), 'width' => '#int', 'height' => '#int', 'hspace' => '#int', 'vspace' => '#int', 'class'=> array('image-center'))
			),

			array(
                                'div',
                                array('align'=> array('left','center','right'))
                        ),

			array(
                                'font',
                                array('color'=> array('#FCE94F','#EDD400','#C4A000',
                                                      '#FCAF3E','#F57900','#CE5C00',
                                                      '#E9B96E','#C17D11','#8F5902',
                                                      '#8AE234','#73D216','#4E9A06',
                                                      '#729FCF','#3465A4','#204A87',
                                                      '#AD7FA8','#75507B','#5C3566',
                                                      '#EF2929','#CC0000','#A40000',
                                                      '#FFFFFF','#D3D7CF','#BABDB6',
                                                      '#888A85','#555753','#000000',))
                        ),
github.com/1099511627776/ls_usertopics
Этот плагин сделан спецом для ls-simple но логика просто и можете смело модифцировать
добавляете ХУК «user_topics» в то место шаблона куда надо выводить и модифицируете сам шаблон в plugin/..../templates/skin/default
  • avatar bamboo
  • 1
Сегодня {$smarty.now|date_format:"%d %B %Y"} года
Все же есть в гугле, в первых же запросах.
ой сор ) для пола както так
{if $oUserCurrent and (!$oUserCurrent->getSex() or $oUserCurrent->getSex()=='other')}а нука быстренько определись кто ты: мальчик или девочка!{/if}
самый простой способ поставить какие либо ограничения, например не давать возможность голосовать или каждые 3 минуты пускать напоминалку. да многое можно придумать.
а реализовать…
{if $oUserCurrent and (!$oUserCurrent->getProfileBirthday() or $oUserCurrent->getProfileBirthday()=='0000-00-00 00:00:00')}а нука быстренько заполняй день рождения!{/if}
  • avatar ort
  • 0
{if $oTopic->getUserId()==$oComment->getUserId()}
...
{/if}
{if $oUserCurrent and $oUserCurrent->getRating() > 1}
 /* */
{/if}

Посмотрите все возможные значения github.com/livestreet/livestreet/blob/master/classes/modules/user/entity/User.entity.class.php
  • avatar bamboo
  • 3
{if $oUserCurrent && $oUserCurrent->getId()==$oUserProfile->getId()} 
тратата
{/if}
  • avatar ort
  • 0
Откройте в папке actions файл ActionRss.class.php. Видите в самом низу функцию getTopicText?
protected function getTopicText($oTopic) {
		$sText=$oTopic->getTextShort();
		if ($oTopic->getTextShort()!=$oTopic->getText()) {
			$sText.="
<a href=\"{$oTopic->getUrl()}#cut\" title=\"{$this->Lang_Get('topic_read_more')}\">";
			if ($oTopic->getCutText()) {
				$sText.=htmlspecialchars($oTopic->getCutText());
			} else {
				$sText.=$this->Lang_Get('topic_read_more');
			}
			$sText.="</a>";
		}
		return $sText;
	}
Отлично! Она и отвечает за формирования текста статей в RSS. Почему бы вам не исправить её, например, на такую?
protected function getTopicText($oTopic) {
		$sText=$oTopic->getText();
		return $sText;
	}
А вы молодец — сами всё сделали ;)
Если продолжить тему, то можно так:

    {if $oUserProfile->getRating()>=0 & $oUserProfile->getRating()<5}
        Бронзовый
    {elseif $oUserProfile->getRating()>=5 & $oUserProfile->getRating()<10}
        Серебряный
    {elseif $oUserProfile->getRating()>=10}
        Золотой
    {/if}

Это был код для профиля (whois.tpl & sidebar.tpl). На страницах site.ru/people/ тоже самое, только oUserProfile заменить везде на oUser
  • avatar Shrike
  • 1
Но содержимое не измениться, для этого либо нужно «пнуть» Публикации, либо «допилить» BlockStream.class.php.
Т.е. второй вариант block.stream.tpl:
<div class="block stream" id="block_stream">
	<h2>{$aLang.block_stream}</h2>
	
	<ul class="switcher">						
		<li id="block_stream_item_topic" class="active">{$aLang.block_stream_topics}</li>
		<li id="block_stream_item_comment" >{$aLang.block_stream_comments}</li>
		{hook run='block_stream_nav_item'}
	</ul>					

	<div class="block-content" id="block_stream_content">
		{$sStreamTopics}
	</div>
</div>
и в BlockStream.class.php либо добавить, либо заменить в Exec()
if ($oTopics=$this->Topic_GetTopicsLast(Config::Get('block.stream.row'))) {
			$oViewer=$this->Viewer_GetLocalViewer();
			$oViewer->Assign('oTopics',$oTopics);
			$sTextResult=$oViewer->Fetch("block.stream_topic.tpl");
			$this->Viewer_Assign('sStreamTopics',$sTextResult);
		}
лучше заменить
  • avatar Lora_GT
  • 0
смотрите, вариант проще
создаём файл HookTopicView.class.php
class HookTopicView extends Hook {
	public function RegisterHook() {
		$this->AddHook('topic_show','TopicShow');
	}

	public function TopicShow($aParams) {
        $oTopic=$aParams['oTopic'];
        $oTopic->setCountRead($oTopic->getCountRead()+1);
        $this->Topic_UpdateTopic($oTopic);
    }
}


в шаблон
{$oTopic->getCountRead()}


проще? :)