Вопрос про тег cut

Только сейчас заметил как реализован тег cut на 0.4.2 — с якорем. Подскажите как такое можно реализовать на 0.3.1 версии? Раньше пробовал, но ничего не получилось.

4 комментария

avatar
в парсер добавить необходимый код и в шаблон
avatar
а по подробнее можно
avatar
А куда добавлять нужный код (и какой)? В шаблон это понятьно нужно добавить #cut
avatar
Разобрался, кого интересует для 0.3.1 версии, то нужно сделать так, в файле ActionTopic.class.php в двух местах заменить:
$sTextShort=$sText;
		$sTextNew=$sText;
		$sTextTemp=str_replace("\r\n",'[<rn>]',getRequest('topic_text'));
		$sTextTemp=str_replace("\n",'[<n>]',$sTextTemp);
		if (preg_match("/^(.*)<cut(.*)>(.*)$/Ui",$sTextTemp,$aMatch)) {			
			$aMatch[1]=str_replace('[<rn>]',"\r\n",$aMatch[1]);
			$aMatch[1]=str_replace('[<n>]',"\r\n",$aMatch[1]);
			$aMatch[3]=str_replace('[<rn>]',"\r\n",$aMatch[3]);
			$aMatch[3]=str_replace('[<n>]',"\r\n",$aMatch[3]);				
			$sTextShort=$this->Text_Parser($aMatch[1]);
			$sTextNew=$this->Text_Parser($aMatch[1].' '.$aMatch[3]);							
			if (preg_match('/^\s*name\s*=\s*"(.+)"\s*\/?$/Ui',$aMatch[2],$aMatchCut)) {				
				$oTopic->setCutText(trim($aMatchCut[1]));

на следующее:
$sTextShort = $sText;
		$sTextNew   = $sText;
		$sTextCut   = null;
		
		$sTextTemp=str_replace("\r\n",'[<rn>]',$sText);
		$sTextTemp=str_replace("\n",'[<n>]',$sTextTemp);
		
		if (preg_match("/^(.*)<cut(.*)>(.*)$/Ui",$sTextTemp,$aMatch)) {			
			$aMatch[1]=str_replace('[<rn>]',"\r\n",$aMatch[1]);
			$aMatch[1]=str_replace('[<n>]',"\r\n",$aMatch[1]);
			$aMatch[3]=str_replace('[<rn>]',"\r\n",$aMatch[3]);
			$aMatch[3]=str_replace('[<n>]',"\r\n",$aMatch[3]);				
			$sTextShort=$aMatch[1];
			$sTextNew=$aMatch[1].' <a name="cut"></a> '.$aMatch[3];
			if (preg_match('/^\s*name\s*=\s*"(.+)"\s*\/?$/Ui',$aMatch[2],$aMatchCut)) {				
				$sTextCut=trim($aMatchCut[1]);

ну и в шаблон topic_list.tpl добавить #cut
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.