Блог Бойцовского Кота На Блоге можно найти статьи о программировании на PHP, C#, Autoit, работе с Zend Framework, phpbb API, WP API, Blogger API, Google API. Заметки по поисковой оптимизации SEO, раскрутке и продвижению сайтов.

12Март/101

Teг <!- -more- -> в Zebrum Lite

Zebrum Lite бесплатный движок для сайта

Zebrum Lite бесплатный движок для сайта

Задался вопросом использования тезисов в Zebrum Lite. Под тезисом буду иметь ввиду текст статьи до тега <!--more-->, под которым расположена ссылка на полный текст. Тезизы выводятся при просмотре списка статей в рубрике.

В документации Zebrum Lite нашел решение в разделе  Функции. Там предлагают использовать свойство z_teaser().

z_teaser($more_link_text)
Выводит тезис страницы.
Текст для тезиса определяется следующим образом.
Если в тексте присутствует <!--more-->, то выводится текст до этого маркера и ссылка на страницу с текстом $more_link_text.
Если у страницы несколько подстраниц, то в качестве текста будет использоваться первая подстраница. Текст берется до маркера <!--more-->, если он присутствует в тексте подстраницы. В любом случае, так как у страницы есть подстраницы, то будет выводиться ссылка на страницу.
Текст для ссылки передается в качестве аргумента.
<?php z_teaser("Читать запись полностью &raquo;"); ?>

Однако при использовании оказалось, что ссылка под тезисом не показывается. Немного покопавшись в коде нашел решение.

Правим файл движка \www\zengine\classes\zpage.php.
Находим функцию getTeaser ($more_link_text = '')


public function getTeaser ($more_link_text = '')
{
$teaser = false;
$content = $this->getBody(false);
if (false !== ($more = strpos($content, ''))) {
$content = substr($content, 0, $more);
$teaser = true;
} elseif ($this->countSubpages() > 1) {
$teaser = true;
}
if ($teaser) {
$this->appendMoreLink($content, $more_link_text);
}
return $content;
}

И заменяем ее на:


public function getTeaser ($more_link_text = '')
{
$teaser = false;
$content = $this->getBody(false);
if (false !== ($more = strpos($content, ''))) {
$content = substr($content, 0, $more);
$teaser = true;
} elseif ($this->countSubpages() > 1) {
$teaser = true;
}
if ($teaser) {
$content = $this->appendMoreLink($content, $more_link_text);
}
return $content;
}

После этих манипуляций свойство z_teaser() будет работать правильно.

Похожие записи:

  1. Обновление Zebrum Lite Export
  2. Плагин для TextKit: Export Zebrum Lite
Комментарии (1) Пинги (1)
  1. I’ve recently started a blog, the information you provide on this site has helped me tremendously. Thank you for all of your time & work.


Оставить комментарий


Сергей
Valid XHTML 1.0 Transitional Рейтинг@Mail.ru [Valid RSS]