Перейти к содержимому


- - - - -

Вывод статей с анотацией


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 5

#1 Gurd

Gurd

    Участник

  • Пользователи
  • PipPip
  • 27 сообщений

Отправлено 26.10.2009, 12:12

Здравствуйте, пытаюсь настроить cms под cвои нужды, но очень мало документации с примерами, поэтому сложно разобраться.

1. Что надо прописать в шаблоне, что бы вывести на странице, например, articles.html все статьи из каталога articles с картинкой и кратким описанием - анонсом (полный вывод статьи не подходит). Это должно выводиться только на странице articles.html с разбиением на страницы например articles-1.html, articles-2.html.
2. На всех страницах вывести заголовки статей (5 штук) из папки articles, отсортированные по дате.
3. из папки news вывести на каждой странице содержимое файлов news/news1.txt, news/news2.txt, news/news3.txt и т.д. без заголовков в следующем формате
дата (d.m.Y) – “содержание новости1”
дата (d.m.Y) – “содержание новости2”
дата (d.m.Y) – “содержание новости3”
и ссылка на все новости

Буду рад любой помощи. Спасибо.

#2 support

support

    Активный участник

  • Главные администраторы
  • PipPipPip
  • 1 140 сообщений

Отправлено 26.10.2009, 15:07

Просмотр сообщенияGurd (26.10.2009, 12:12) писал:

Здравствуйте, пытаюсь настроить cms под cвои нужды, но очень мало документации с примерами, поэтому сложно разобраться.

1. Что надо прописать в шаблоне, что бы вывести на странице, например, articles.html все статьи из каталога articles с картинкой и кратким описанием - анонсом (полный вывод статьи не подходит). Это должно выводиться только на странице articles.html с разбиением на страницы например articles-1.html, articles-2.html.
Для страницы articles указать свойство @@module=zmodule_listpages. В теле страниц статей можно использовать <!--more-->. Тогда текст до этой метки будет на странице articles.

Другой вариант, это добавить для статей свое собственное свойство, в котором указывать текст анонса. Модуль zmodule_listpages настроить на работу с другим шаблоном списка статей (не listpages.php) и выводить там вместо z_teaser свое свойство.

Просмотр сообщенияGurd (26.10.2009, 12:12) писал:

2. На всех страницах вывести заголовки статей (5 штук) из папки articles, отсортированные по дате.
Создать виджет zwidget_listpages:

$sidebar->addWidget(new zwidget_listpages('articles', array(
	'title' => 'Последние статьи', // Заголовок блока
	'zpage' => zengine::repository()->getMenu()->find('/articles'), // выводить дочерние страницы этой страницы
	'order' => 'time desc', // по умолчанию по времени и сортируется
	'number' => 10, // выводить не более 10 пунктов
)));


Просмотр сообщенияGurd (26.10.2009, 12:12) писал:

3. из папки news вывести на каждой странице содержимое файлов news/news1.txt, news/news2.txt, news/news3.txt и т.д. без заголовков в следующем формате
дата (d.m.Y) – “содержание новости1”
дата (d.m.Y) – “содержание новости2”
дата (d.m.Y) – “содержание новости3”
и ссылка на все новости
$sidebar->addWidget(new zwidget_listpages('articles', array(
	'title' => 'Последние статьи', // Заголовок блока
	'zpage' => zengine::repository()->getMenu()->find('/articles'), // выводить дочерние страницы этой страницы
	'order' => 'time desc', // по умолчанию по времени и сортируется
	'number' => 10, // выводить не более 10 пунктов
	'date_format' => 'd.m.Y',
	'template' => '<li>#date - <a href="#link">#title</a></li>'
)));

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

#3 Gurd

Gurd

    Участник

  • Пользователи
  • PipPip
  • 27 сообщений

Отправлено 27.10.2009, 07:19

Спасибо за ответ, буду пробовать.

#4 Gurd

Gurd

    Участник

  • Пользователи
  • PipPip
  • 27 сообщений

Отправлено 27.10.2009, 10:22

Просмотр сообщенияsupport (26.10.2009, 15:07) писал:

Для страницы articles указать свойство @@module=zmodule_listpages. В теле страниц статей можно использовать <!--more-->. Тогда текст до этой метки будет на странице articles.

Другой вариант, это добавить для статей свое собственное свойство, в котором указывать текст анонса. Модуль zmodule_listpages настроить на работу с другим шаблоном списка статей (не listpages.php) и выводить там вместо z_teaser свое свойство.
Спасибо. С этим разобрался, все понятно.

Просмотр сообщенияsupport (26.10.2009, 15:07) писал:

Создать виджет zwidget_listpages:

$sidebar->addWidget(new zwidget_listpages('articles', array(
	'title' => 'Последние статьи', // Заголовок блока
	'zpage' => zengine::repository()->getMenu()->find('/articles'), // выводить дочерние страницы этой страницы
	'order' => 'time desc', // по умолчанию по времени и сортируется
	'number' => 10, // выводить не более 10 пунктов
)));
Здесь не получается сделать вывод на всех страницах, все записи выводятся только на странице articles.html, а на остальных только сам заголовок блока 'Последние статьи'.

Просмотр сообщенияsupport (26.10.2009, 15:07) писал:

$sidebar->addWidget(new zwidget_listpages('articles', array(
	'title' => 'Последние статьи', // Заголовок блока
	'zpage' => zengine::repository()->getMenu()->find('/articles'), // выводить дочерние страницы этой страницы
	'order' => 'time desc', // по умолчанию по времени и сортируется
	'number' => 10, // выводить не более 10 пунктов
	'date_format' => 'd.m.Y',
	'template' => '<li>#date - <a href="#link">#title</a></li>'
)));

Но придется создать свой класс виджета, унаследованный от zwidget_listpages, для вывода содержимого новостей.
Здесь впринципе таже проблема записи выводятся только на странице articles.html.


'template' => '<li>#date - <a href="#link">#title</a></li>'
Вот здесь выводится заголовок записи, а как вывести все содержимое.

Спасибо.

#5 support

support

    Активный участник

  • Главные администраторы
  • PipPipPip
  • 1 140 сообщений

Отправлено 27.10.2009, 19:44

Просмотр сообщенияGurd (27.10.2009, 10:22) писал:

Здесь не получается сделать вывод на всех страницах, все записи выводятся только на странице articles.html, а на остальных только сам заголовок блока 'Последние статьи'.
Здесь впринципе таже проблема записи выводятся только на странице articles.html.

Нужно подправить этот код, строчку с 'zpage':
$sidebar->addWidget(new zwidget_listpages('articles', array(
	'title' => 'Последние статьи', // Заголовок блока
	'zpage' => zengine::repository()->getMenu()->find('/articles')->getPage(), // выводить дочерние страницы этой страницы
	'order' => 'time desc', // по умолчанию по времени и сортируется
	'number' => 10, // выводить не более 10 пунктов
)));


Просмотр сообщенияGurd (27.10.2009, 10:22) писал:

'template' => '<li>#date - <a href="#link">#title</a></li>'
Вот здесь выводится заголовок записи, а как вывести все содержимое.
См. пример создания своего класса для вывода описания:
http://zebrum.ru/for...findpost&p=3075

#6 Gurd

Gurd

    Участник

  • Пользователи
  • PipPip
  • 27 сообщений

Отправлено 28.10.2009, 09:38

Спасибо, все работает!




Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 скрытых пользователей