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


- - - - -

последние записи


  • Закрытая тема Тема закрыта
Сообщений в теме: 16

#1 LEGAS

LEGAS

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

  • Пользователи Zebrum CMS
  • PipPipPip
  • 48 сообщений

Отправлено 19.12.2009, 14:34

Подскажите,как сделать так,чтобы в сайдбаре,где выводятся статьи выводились не все записи,а только категории?
Как сделать чтобы выводить 10 последних записей?

Р$ если необходимо,вот файл темы:

<?php
$sidebar1 = new zsidebar(array(
    'before_widget' => '',
    'after_widget' => "</li>",
    'before_title' => '<li><h3>',
    'after_title' => "</h3>\n",
));

$sidebar1->addWidget(new zwidget_pages('pages', array(
    'title' => 'Статьи', // Заголовок блока
    'type' => 'minimal', // Тип вывода меню: minimal или full
)));

// Для более тонкой настройки виджета см. файл
// zengine/classes/widgets/defaults.php
$sidebar1->addWidget(new zwidget_tagcloud('tag_cloud', array(
    'title' => 'Тэги' // Заголовок блока
)));

/**
* Регистрируем сайдбар в менеджере. Позже его можно будет вывести, используя
* метод zsidebarmanager::displaySidebar(1)
*/
zsidebarmanager::register($sidebar1);

#2 vasko

vasko

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

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

Отправлено 19.12.2009, 22:30

Вывод последних записей регулируються в файле functions.php
    'number' => 10, // выводить не более 10 пунктов меню

А я щас вывожу так, хотя может и неправильно незнаю, но работает.
В файле в файле functions.php  оставил только это:

<?php
$sidebar = new zsidebar();

$sidebar->addWidget(new zwidget_recentpages('recent-pages', array(

    'number' => 6, // выводить не более 10 пунктов меню
)));


/**
* Регистрируем сайдбар в менеджере. Позже его можно будет вывести, используя
* метод zsidebarmanager::displaySidebar(1)
*/
zsidebarmanager::register($sidebar);

Потом в шаблоне где надо категории пишу
<?php z_menu(); ?>
а последнии записи
<?php zsidebarmanager::displaySidebar(1); ?>

#3 support

support

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

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

Отправлено 21.12.2009, 18:00

Просмотр сообщенияLEGAS (19.12.2009, 14:34) писал:

Подскажите,как сделать так,чтобы в сайдбаре,где выводятся статьи выводились не все записи,а только категории?
...
$sidebar1->addWidget(new zwidget_pages('pages', array(
	'title' => 'Статьи', // Заголовок блока
	'type' => 'minimal', // Тип вывода меню: minimal или full
	'depth' => 1, // страницы только первого уровня
)));
...
Параметр depth отвечает за вложенность. При значении равном 1 в меню будут выводиться только пункты первого уровня.

Просмотр сообщенияLEGAS (19.12.2009, 14:34) писал:

Как сделать чтобы выводить 10 последних записей?
Если требуется выводить последние записи на всем сайте, то можно использовать виджет zwidget_recentpages (см. пост выше).

#4 LEGAS

LEGAS

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

  • Пользователи Zebrum CMS
  • PipPipPip
  • 48 сообщений

Отправлено 22.12.2009, 07:39

спасибо,разобрался.
еще вопрос:
как сделать постраничную навигацию?
в шаблоне пишу <?php z_pagenumbers("subpages"); ?>
но на сайте ничего не происходит


Р$ и еще как в файле functions.php можно зарегистрировать 2 и более сайдбара и как с ними потом работать?

РР$ где почитать про эти параметры?(Параметр depth отвечает за вложенность)

#5 support

support

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

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

Отправлено 22.12.2009, 08:57

Просмотр сообщенияLEGAS (22.12.2009, 07:39) писал:

как сделать постраничную навигацию?
в шаблоне пишу <?php z_pagenumbers("subpages"); ?>
но на сайте ничего не происходит
Вы прописываете вызов этой функции в файле page.php?

Просмотр сообщенияLEGAS (22.12.2009, 07:39) писал:

Р$ и еще как в файле functions.php можно зарегистрировать 2 и более сайдбара и как с ними потом работать?
<?php
$sidebar1 = new zsidebar();
$sidebar1->addWidget(...);

/**
 * Регистрируем сайдбар в менеджере. Позже его можно будет вывести, используя
 * метод zsidebarmanager::displaySidebar(1)
 */
zsidebarmanager::register($sidebar1);

$sidebar2 = new zsidebar();
$sidebar2->addWidget(...);

/**
 * Регистрируем сайдбар в менеджере. Позже его можно будет вывести, используя
 * метод zsidebarmanager::displaySidebar(2)
 */
zsidebarmanager::register($sidebar2);

Просмотр сообщенияLEGAS (22.12.2009, 07:39) писал:

РР$ где почитать про эти параметры?(Параметр depth отвечает за вложенность)
К сожалению, документация по виджетам в настоящее время отсутствует. Посмотреть список параметров можно в определении класса виджета (для меню это zengine/classes/zwidget/pagemenu.php), свойство $defaults.

#6 LEGAS

LEGAS

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

  • Пользователи Zebrum CMS
  • PipPipPip
  • 48 сообщений

Отправлено 26.01.2010, 16:34

обратил внимание,что при нажатии на название категории категория не разворачивается.
как сделать так,чтобы она разворачивалась?

#7 support

support

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

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

Отправлено 27.01.2010, 15:55

Просмотр сообщенияLEGAS (26.01.2010, 16:34) писал:

обратил внимание,что при нажатии на название категории категория не разворачивается.
как сделать так,чтобы она разворачивалась?
Javascript?

#8 LEGAS

LEGAS

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

  • Пользователи Zebrum CMS
  • PipPipPip
  • 48 сообщений

Отправлено 28.01.2010, 18:18

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

Javascript?
не понял вопроса.
вывожу только категории(страницы первого уровня)
хочется,чтобы при нажатии на любую категорию она разворачивалась(показывались страницы второго уровня)
вот файл function:
<?php
$sidebar1 = new zsidebar(array (
  'before_widget' => '',
  'after_widget' => '</ul>',
  'before_title' => '<h4>',
  'after_title' => '</h4><ul>',
));

$sidebar1->addWidget(new zwidget_pages('pages', array(
    'title' => 'Категории', // Заголовок блока
    'type' => 'minimal', // Тип вывода меню: minimal или full
    'depth' => 1, // страницы только первого уровня

)));

$sidebar1->addWidget(new zwidget_tagcloud('tag_cloud', array(
    'title' => 'Облако тэгов' // Заголовок блока
)));

/**
* Регистрируем сайдбар в менеджере. Позже его можно будет вывести, используя
* метод zsidebarmanager::displaySidebar(1)
*/
zsidebarmanager::register($sidebar1);

#9 support

support

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

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

Отправлено 29.01.2010, 06:14

Просмотр сообщенияLEGAS (28.01.2010, 18:18) писал:

не понял вопроса.
вывожу только категории(страницы первого уровня)
хочется,чтобы при нажатии на любую категорию она разворачивалась(показывались страницы второго уровня)
Если Вы хотите, чтобы категория разворачивалась при клике без перехода на страницу категории, то для этого необходимо использовать Javascript.

#10 LEGAS

LEGAS

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

  • Пользователи Zebrum CMS
  • PipPipPip
  • 48 сообщений

Отправлено 29.01.2010, 17:29

Просмотр сообщенияsupport (29.01.2010, 06:14) писал:

Если Вы хотите, чтобы категория разворачивалась при клике без перехода на страницу категории, то для этого необходимо использовать Javascript.
пуская переходит на страницу категории.
как это сделать?

#11 support

support

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

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

Отправлено 31.01.2010, 07:56

Просмотр сообщенияLEGAS (29.01.2010, 17:29) писал:

пуская переходит на страницу категории.
как это сделать?
Это уже реализовано в виджете zwidget_pagemenu, например, блок справа (Страницы) содержит все дочерние страницы раздела "Новости":

http://blog.zebrum.ru/lite/novosti/

Возможно, если используете виджет zwidget_pagemenu и дочерних страниц нет, то проверьте параметр виджета depth. Если установлено значение 1, то будет показан только первый уровень меню.

#12 LEGAS

LEGAS

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

  • Пользователи Zebrum CMS
  • PipPipPip
  • 48 сообщений

Отправлено 31.01.2010, 07:59

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

Это уже реализовано в виджете zwidget_pagemenu, например, блок справа (Страницы) содержит все дочерние страницы раздела "Новости":

http://blog.zebrum.ru/lite/novosti/

Возможно, если используете виджет zwidget_pagemenu и дочерних страниц нет, то проверьте параметр виджета depth. Если установлено значение 1, то будет показан только первый уровень меню.

не совсем так,как я хотел.
поясню на этом примере:
я хочу,чтобы первоначально меню было свернуто
depth стоит в 1
и только по нажатию на пункт меню "новости" оно принимало бы такой вид как по ссылке(разворачивалось)

так можно?

#13 support

support

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

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

Отправлено 31.01.2010, 08:03

Просмотр сообщенияLEGAS (31.01.2010, 07:59) писал:

не совсем так,как я хотел.
поясню на этом примере:
я хочу,чтобы первоначально меню было свернуто
depth стоит в 1
и только по нажатию на пункт меню "новости" оно принимало бы такой вид как по ссылке(разворачивалось)

так можно?
Так и есть. Может у главной страницы есть дочерние элементы? Поэтому они могут выводиться сразу на главной странице.

#14 LEGAS

LEGAS

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

  • Пользователи Zebrum CMS
  • PipPipPip
  • 48 сообщений

Отправлено 31.01.2010, 08:15

Просмотр сообщенияsupport (31.01.2010, 08:03) писал:

Так и есть. Может у главной страницы есть дочерние элементы? Поэтому они могут выводиться сразу на главной странице.
не получается у меня правильно объяснить чего я хочу :-(

надо,чтобы на главной выводились в меню только рубрики
а уж,если человек захотел - он нажал и рубрика развернулась

поясню для чего это нужно:
например в рубрике 100 статей
некрасиво будет,если сразу на главной появится вся эта сосиска
а вот,если посетитель захотел-то пожалуйста

#15 support

support

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

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

Отправлено 31.01.2010, 08:30

Просмотр сообщенияLEGAS (31.01.2010, 08:15) писал:

не получается у меня правильно объяснить чего я хочу :-(

надо,чтобы на главной выводились в меню только рубрики
а уж,если человек захотел - он нажал и рубрика развернулась

поясню для чего это нужно:
например в рубрике 100 статей
некрасиво будет,если сразу на главной появится вся эта сосиска
а вот,если посетитель захотел-то пожалуйста
Повторяю, что виджет так и работает :)

Если у главной страницы есть дочерние страницы, то они будут выведены на главной в меню сразу, т.к. пользователь находится на главной странице.

##Главная
###Подраздел 1
###Подраздел 2

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



##Главная
##Раздел
###Подраздел 1
###Подраздел 2

На главной в меню подразделов видно не будет, т.к. они относятся к разделу, а у главной страницы нет дочерних страниц.

#16 LEGAS

LEGAS

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

  • Пользователи Zebrum CMS
  • PipPipPip
  • 48 сообщений

Отправлено 31.01.2010, 08:37

Просмотр сообщенияsupport (31.01.2010, 08:30) писал:

Повторяю, что виджет так и работает :)

Если у главной страницы есть дочерние страницы, то они будут выведены на главной в меню сразу, т.к. пользователь находится на главной странице.

##Главная
###Подраздел 1
###Подраздел 2

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



##Главная
##Раздел
###Подраздел 1
###Подраздел 2

На главной в меню подразделов видно не будет, т.к. они относятся к разделу, а у главной страницы нет дочерних страниц.
сделано по второму варианту
теперь хотелось бы:
при нажатии на раздел - стали видны подразделы
(кидаю в личку проблемный сайт и доступ к нему)

#17 support

support

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

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

Отправлено 31.01.2010, 08:46

Просмотр сообщенияLEGAS (31.01.2010, 08:37) писал:

сделано по второму варианту
теперь хотелось бы:
при нажатии на раздел - стали видны подразделы
(кидаю в личку проблемный сайт и доступ к нему)
Согласно файлам сайта используется первый вариант (существует папка index и в ней все дочерние страницы). Решение по шагам кинул в личку. Дальнейшее обсуждение Вашей задачи предлагаю вести через личные сообщения.




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

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