Регистрация
Вход через соцсети
Восстановление пароля

Листинг

Новый топик
Страницы: 1  |  2
03.09.2012, 23:43
Ответить | Цитировать
Heidel

Зарегистрирован:
2012-06-27
Сообщений: 65

Делаю листинг для раздела новости, в макете дизайна, подключенном к разделу, пишу
Код:
<?php
//навигация по страницам в разделе Новости
$browse_msg['prefix'] = "";
$browse_msg['suffix'] = "";
$browse_msg['active'] = "%PAGE";
$browse_msg['unactive'] = "<a href=%URL>%PAGE</a>";
$browse_msg['divider'] = " ";
?>

В компоненте в суффиксе списка объектов
Код:
<?= nc_browse_messages($cc_env, 5) ?>

но на странице ничего не отображается.
В компоненте стоит вывод 3 объектов на странице, в разделе 8 объектов.
04.09.2012, 11:08
Ответить | Цитировать
DiGGy
DiGGy
DiGGy

Зарегистрирован:
2005-04-04
Сообщений: 1546

Это баг неткет 5.0. Я партнерском блоге про это писал
Цитата:
Не работает вывод постраничной навигации. Он работает, но только в $inside_admin=1. Такое ощущение, что массив $browse_msg не объявлен на момент вызова ф-ий browse_messages, nc_browse_messages. Видимо поменяли порядок обработки - сначала компонент, затем макет дизайна, но этого не учли.

Решением проблемы будет использование 3-го параметра ф-ии, в который можно передать свой массив шаблона.


Temet nosce...
04.09.2012, 12:08
Ответить | Цитировать
Heidel

Зарегистрирован:
2012-06-27
Сообщений: 65

О, спасибо большое, а то уже все мозги сломала, что не так.
А про третий параметр функции можете подробно написать, а то я не совсем понимаю, как это реализовать?
04.09.2012, 12:30
Ответить | Цитировать
DiGGy
DiGGy
DiGGy

Зарегистрирован:
2005-04-04
Сообщений: 1546

В суффиксе:
Код:
<?= browse_messages( $cc_env,5,$browse_msg ) ?>

В сист. настройках:
Код:
$browse_msg['prefix'] = "";
$browse_msg['suffix'] = "";
$browse_msg['active'] = "<a href=\\\"%URL\\\" class=\\\"on\\\">%PAGE</a>";
$browse_msg['unactive'] = "<a href=\\\"%URL\\\">%PAGE</a>";
$browse_msg['divider'] = " ";


Temet nosce...
04.09.2012, 13:45
Ответить | Цитировать
Heidel

Зарегистрирован:
2012-06-27
Сообщений: 65

А зачем по три обратных слэша перед двойными кавычками?
У меня заработало, когда я в системных настройках прописала в таком виде
Код:
<?
$browse_msg['prefix'] = "&nbsp;&nbsp;";
$browse_msg['suffix'] = "&nbsp;&nbsp;";
$browse_msg['active'] = "%PAGE";
$browse_msg['unactive'] = "<a href='%URL' style='text-decoration: none;'>%PAGE</a>";
$browse_msg['divider'] = "&nbsp;&nbsp;";
?>
04.09.2012, 14:32
Ответить | Цитировать
DiGGy
DiGGy
DiGGy

Зарегистрирован:
2005-04-04
Сообщений: 1546

Цитата:
А зачем по три обратных слэша перед двойными кавычками?

Я считаю, что в хтмл коде должны быть либо все двойные кавычки (они как раз и экранируются), либо все одинарные. Можно и смешивать, но мне так не нравится.

Temet nosce...
04.09.2012, 15:02
Ответить | Цитировать
Heidel

Зарегистрирован:
2012-06-27
Сообщений: 65

Но три штуки зачем?
04.09.2012, 17:03
Ответить | Цитировать
DiGGy
DiGGy
DiGGy

Зарегистрирован:
2005-04-04
Сообщений: 1546

Цитата:
Но три штуки зачем?

три штуки для старой ф-ии browse_messages
одна штука для новой ф-ии nc_browse_messages

Temet nosce...
04.09.2012, 17:32
Ответить | Цитировать
Heidel

Зарегистрирован:
2012-06-27
Сообщений: 65

Понятно, спасибо =)

А каким образом можно прописать, чтобы если список объектов выводится в своем разделе, то листинг бы отображался, а если он выводится в другом разделе при помощи функции nc_objects_list, то вывод осуществлялся бы без листинга?

Пробовала в суффиксе объекта задать проверку
Код:
<?
if($current_sub==339) {
?>
<div style='text-align: center;'>
<?=( $prevLink ? "<a href='$prevLink' style='text-decoration: none;'>&larr; Предыдущая</a> " : NULL);?> <?= nc_browse_messages($cc_env, 10, $browse_msg) ?>
<?= ( $nextLink ? "<a href='$nextLink' style='text-decoration: none;'>Следующая &rarr;</a>" : NULL);?></div>
<? } ?>

но в таком случае листинг перестает выводится вообще.

Можно еще конечно создать еще один шаблон для вывода объектов, уже без листинга, и в "неродном" разделе выводить по этому шаблону, но без дополнительного шаблона это как-то можно осуществить?
04.09.2012, 17:42
Ответить | Цитировать
Heidel

Зарегистрирован:
2012-06-27
Сообщений: 65

Да, там конечно нужен не $current_sub, а та переменная из массива, которая отвечает за номер раздела.
Условие проверки на переменную $sub тоже не работает.
04.09.2012, 18:40
Ответить | Цитировать
llkp
Ruslan Kimov

Зарегистрирован:
2010-08-23
Сообщений: 81

Передавайте свою переменную в nc_objects_list.
И при выводе листинга проверяйте.
198 196 2013-05-24 02:39:13 12553
Страницы: 1  |  2
Описание проекта