Zikula

Сделай себе сайт быстро и просто.

В конец
Pages и короткий анонс
  • Написано: 
     
    зарегистрирован:
     Март 2009
    Статус:
    офлайн
    последнее посещение:
    25.07.12
    Сообщений:
    171
    Хотелось бы выводить короткий анонс у модуля pages, также как у News. Для этого у нас есть "вмонтированный" тег Meta-description/ Так, на странице категории, например, /Pages/view/Main/s1/ идут ссылки на страницы, а хотелось бы - ссылки на заголовок + короткий анонс (Meta-description). Попытался поэксперементировать в pages_user_view.htm, то что-то не получается.
    Дмитрий, не подскажете что и где нужно вставить??

    Бойся желаних своих, ибо они сбываются...
  • Написано: 
     
    зарегистрирован:
     Июнь 2008
    Статус:
    офлайн
    последнее посещение:
    09.08.12
    Сообщений:
    244
    А какая версия модуля Pages?
    У меня есть под рукой версия 2.5.0, а там нет шаблона "pages_user_view.htm" и версия 2.4.1, но там нет поля "metadescription".

    ---
    Спасибо сэру Синклеру за наше счастливое детство!
  • Написано: 
     
    зарегистрирован:
     Март 2009
    Статус:
    офлайн
    последнее посещение:
    25.07.12
    Сообщений:
    171
    А та, что вы делали.... (добавляли мета) Она лежит у вас в хранилище. 2.3

    Бойся желаних своих, ибо они сбываются...
  • Написано: 
     
    зарегистрирован:
     Июнь 2008
    Статус:
    офлайн
    последнее посещение:
    09.08.12
    Сообщений:
    244
    Так и не смог запустить этот Pages. На 1.2.4 он не работает как надо, а более ранней Зикулы у меня просто нет.
    Поэтому придётся напрягать интуицию.

    Каждая строка списка статей отдельно выводится с помощью шаблона "pages_user_rowread.htm"
    Попробуйте найти в нём подходящее место, и вставьте туда:

    Код

    <!--[$__ATTRIBUTES__.description]-->

    а ещё лучше:

    Код

    <!--[$__ATTRIBUTES__.description|pnvarprephtmldisplay]-->

    PS. Есть ещё шаблон "pages_user_rowoverview.htm". Он выводит строки для тех, у кого нет права на чтение статьи. Обычно таких ситуаций не возникает, но можно вставить вывод описания и в этот шаблон для проформы.

    ---
    Спасибо сэру Синклеру за наше счастливое детство!
  • Написано: 
     
    зарегистрирован:
     Март 2009
    Статус:
    офлайн
    последнее посещение:
    25.07.12
    Сообщений:
    171

    Код

    <!--[* $Id: pages_user_rowread.htm 23954 2008-03-13 11:55:37Z rgasch $ *]-->
    <!--[if $enablecategorization and $shorturls and $shorturlstype eq 0 and $addcategorytitletopermalink]-->
    <!--[assign var="prop" value=$properties.0]-->
    <a href="<!--[pnmodurl modname="Pages" func="display" pageid=$pageid cat=$__CATEGORIES__.$prop.path_relative]-->"><!--[$title|pnvarprephtmldisplay]--></a>
    <!--[else]-->
    <a href="<!--[pnmodurl modname="Pages" func="display" pageid=$pageid]-->"><!--[$title|pnvarprephtmldisplay]--></a>
    <!--[/if]-->

    Куда бы не вставлял - выводит одно описание ко всем заголовкам....
    Пробовал и в файл pages_user_view.htm

    Код

    <ul>
    <!--[foreach item=page from=$pages]-->
    <li><!--[$page]--></li>
    <!--[/foreach]-->
    </ul>
    - внутрь этого кода - тот же результат - одно и тоже описание ко всем заголовкам...

    Бойся желаних своих, ибо они сбываются...
  • Написано: 
     
    зарегистрирован:
     Июнь 2008
    Статус:
    офлайн
    последнее посещение:
    09.08.12
    Сообщений:
    244

    Цитата

    Куда бы не вставлял - выводит одно описание ко всем заголовкам....

    Могу ещё посоветовать дополнительно в функции pages_user_view() в файле pnuser.php найти вот такой код:

    Код

    // Loop through each item and display it.
    $pages = array();
    foreach ($items as $item) {
    if (SecurityUtil::checkPermission('Pages::', "$item[title]::$item[pageid]", ACCESS_OVERVIEW)) {
    $pnRender->assign($item);
    if (SecurityUtil::checkPermission('Pages::', "$item[title]::$item[pageid]", ACCESS_READ)) {
    $pages[] = $pnRender->fetch('pages_user_rowread.htm', $item['pageid']);
    } else {
    $pages[] = $pnRender->fetch('pages_user_rowoverview.htm', $item['pageid']);
    }
    }
    }
    unset($items);

    и вставить эту строку:

    Код

    ObjectUtil::expandObjectWithAttributes ($item, 'pages', 'pageid');

    чтобы получилось вот так:

    Код

    // Loop through each item and display it.
    $pages = array();
    foreach ($items as $item) {
    ObjectUtil::expandObjectWithAttributes ($item, 'pages', 'pageid');
    if (SecurityUtil::checkPermission('Pages::', "$item[title]::$item[pageid]", ACCESS_OVERVIEW)) {
    $pnRender->assign($item);
    if (SecurityUtil::checkPermission('Pages::', "$item[title]::$item[pageid]", ACCESS_READ)) {
    $pages[] = $pnRender->fetch('pages_user_rowread.htm', $item['pageid']);
    } else {
    $pages[] = $pnRender->fetch('pages_user_rowoverview.htm', $item['pageid']);
    }
    }
    }
    unset($items);


    ---
    Спасибо сэру Синклеру за наше счастливое детство!
  • Написано: 
     
    зарегистрирован:
     Март 2009
    Статус:
    офлайн
    последнее посещение:
    25.07.12
    Сообщений:
    171
    Дмитрий, ну не помогает.... выводит одно описание для всех...

    Бойся желаних своих, ибо они сбываются...
  • Написано: 
     
    зарегистрирован:
     Июнь 2008
    Статус:
    офлайн
    последнее посещение:
    09.08.12
    Сообщений:
    244
    У меня идеи закончились. А так, вслепую, отладить я уже не смогу.

    ---
    Спасибо сэру Синклеру за наше счастливое детство!
  • Написано: 
     
    зарегистрирован:
     Март 2009
    Статус:
    офлайн
    последнее посещение:
    25.07.12
    Сообщений:
    171
    и на этом спасибо.

    Бойся желаних своих, ибо они сбываются...