» На главную »RuSupport Форум » Файловый Архив » Ссылки партнеров
  Категории Раздела

  Реклама

  Последние темы форума

  Вход на сайт
:

:



Регистрация

  Кто он-лайн

Посетителей: 0



За день:
  • Всего: 1
  • Мемберов: 0
  • Посетителей: 1


  •   Visit It
    » интернет магазин игрушек
    » опилки.ком

      Nucleus Info
    Последняя версия: 3.65
    Скачать можно здесь:
    Powered by Nucleus CMS

      Статистика
    Яндекс цитирования

      Nucleus Ru Support Staff

      Поиск по сайту


      Кнопки
    RSS



    » Способы представления контента в Nucleus.

    Изначально в Nucleus встроены три различных переменных для отображения ваших новостей на главной странице, а именно:

    <%body%>
    <%smartbody%> и
    <%syndicate_description(x)%> (<%syndicate_title(x)%> )


    Сейчас разберем подробно, куда это все ставить, зачем оно вообще надо, а также создадим свою собственную переменную.



    Сперва немного теории.
    В меню нюклеуса «добавить пост» (add item), непосредственно для текста имеется два поля: «Тело поста» (body) и «extended». Тело – это то что будет видно на главной странице, а extended – окончание поста, которое мы видим при переходе по ссылке «Читать дальше». Вероятно не все знают, что это на самом деле не единственный способ отображения поста. Существует еще как минимум два способа, о которых и пойдет речь.

    Для изменения способа отображения новостей идем в шаблоны и выбираем шаблон главной страницы (в стандартной версии - default/index). Далее находим Тело поста (Item Body). Там где стоит переменная <%body%> и есть то что нам надо.

    Как вы уже поняли <%body%> - это обычное отображение новостей в виде «Основная часть – продолжение по ссылке». Описание других возможных переменных:

    <%smartbody%>. При замене стандартного <%body%> на <%smartbody%> на главной странице будет показываться та часть новости, которая находится в extended. Если часть extended не заполнена то на главной странице показывается то, что добавлено в «Тело поста». То есть, при добавлении новости вы добавляете весь текст в «Тело поста», а в extended любую выбранную вами часть (например отрывок из рассказа из любого места).
    При использовании <%smartbody%> в шаблонах главной страницы, стандартная связка <%body%> + <%more%> в шаблонах полного поста (default/item в стандартой версии) может быть заменена просто на <%body%> т.к. в «Теле поста» уже и так содержится полный текст.

    Данная переменная может быть полезна для обладателей литературных блогов, для отображения наиболее интересных моментов рассказов/стихов и т.д.

    <%syndicate_description(Х)%> . Данная переменная обрезает новость после Х знаков (если значение не указано то пост обрезается после 250 знаков). Переменная <%syndicate_title(x)%> используется для отображения укороченного заголовка поста. Также если значение не указано заголовок обрезается после 100 знаков. Также все HTML теги, при попадании в «зону урезания», автоматически пропускаются, что является несомненным плюсом. Из минусов можно упомянуть то, что ссылка «Читать далее» появляется при наличии текста в extended, а не при превышении лимита знаков.

    Это значение может быть использовано при ежедневном добавлении большого количества новостей.

    Это было описание стандартных переменных, сейчас же мы займемся добавлением своей собственной, которая исправит недостатки всех предыдущих.

    Открываем в текстовом редакторе файл …/nucleus/libs/BLOG.php, ищем (строка примерно 1076):
     	function getDefinedActions() {
    return array(


    Добавляем внизу:
    'newbody',


    Далее переходим ниже (строка примерно 1217):
    	function parse_author($which = '') {		
    switch($which)
    {
    case 'realname':
    echo $this->currentItem->authorname;
    break;
    case 'id':
    echo $this->currentItem->authorid;
    break;
    case 'email':
    echo $this->currentItem->authormail;
    break;
    case 'url':
    echo $this->currentItem->authorurl;
    break;
    case 'name':
    default:
    echo $this->currentItem->author;
    }
    }


    Добавляем внизу:

    function parse_newbody() {
    $newbody = strip_tags($this->currentItem->body);
    if ( strlen($newbody) > 35) {
    $this->highlightAndParse(substr($newbody,0,35));
    echo ' ...';
    echo '<br><br>';
    echo $this->parser->parse($this->template['MORELINK']);
    } else {
    $this->highlightAndParse($newbody);
    }
    }


    Внимание! Цифра 35 – количество знаков до обрезания поста. Это значение вы можете выбрать для себя сами.

    Вот собственно и все. Теперь в шаблонах заменяем стандартную <%body%> на <%newbody%>. Эта модификация обрезает пост после 35 знаков (35 – именно в этом примере это значение вы можете поменять), обрезает html-теги при попадании в зону урезания и добавляет ссылку «Читать далее» при превышении лимита. Что нам и требовалось

    Удачи. Если у вас есть вопросы, вы можете задать их на нашем форуме


    Комментарии:

    Нет комментариев.

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

    :

    :
    :
    Warning: Parameter 1 to NP_SpamGuardian::event_FormExtra() expected to be a reference, value given in /home/bh52645/public_html/nucleus.com.ru/nucleus/libs/MANAGER.php on line 328

    Warning: Parameter 1 to NP_Captcha::event_FormExtra() expected to be a reference, value given in /home/bh52645/public_html/nucleus.com.ru/nucleus/libs/MANAGER.php on line 328



    © 2005-2011 Nucleus.com.ru - Design by Suvoroff