Next Generation CMS :: Форум поддержки

Заинтересовала наша система? Тогда этот форум для Вас!

Вы не зашли.

#626 Re: Обсуждение шаблонной системы » Как сделать блоки используя Twig ? » 2014-02-06 01:30:51

Мало кто знает, что плагин xnews может выводить информацию из дополнительных полей xfields.

Предположим, что у нас есть xfields дополнительное поле (тип Группа изображений) с ID:imgtest
Тогда, чтобы вывести эти изображения в блоках плагина xnews (шаблон entries.tpl) нужно прописать такой цикл:
1. Сначало проверяем есть ли изображения в доп.поле, если нету то ничего не выводим, по сути можно прописать {% else %} и вывести изображение-заглужку.
2. Далее цикл по изображениям. Внутри можно использовать различные переменные с параметром img (как он задан внутри for'a).
3. Чтобы вывести только первое изображение можно сделать внутри цикла условие {% if (loop.first) %}XXX{% endif %} - которое будет показывать блок только при первой иттерации цикла (только первое изображение). Другие параметры loop можно посмотреть здесь:
http://twig.sensiolabs.org/doc/tags/for.html

{% if (p.xfields.imgtest.count > 0) %}
	{% for img in p.xfields.imgtest.entries %}
		{% if (loop.first) %}
			{{img.url}}
			{{img.purl}}
			{{img.width}}
			{{img.height}}
			{{img.pwidth}}
			{{img.pheight}}
			{{img.name}}
			{{img.origName}}
			{{img.description}}
			{{img.flags.hasPreview}}
		{% endif %}
	{% endfor %}
{% endif %}

Аналогичено этому коду можно просто выводить первый элемент из массива.

{% if (p.xfields.imgtest.count > 0) %}
	{{ p.xfields.imgtest.entries[0].url }}
	{{ p.xfields.imgtest.entries[0].purl }}
{% endif %}

Также, содержимое любой переменной можно посмотреть при помощи debugValue, например:  {{ debugValue(p.xfields) }}
Или можно просто вывести отладочную информацию по всем доступным в данном месте переменным с их значениями при помощи {{ debugContext(0) }}

#627 Re: Запросы плагинов » Доска объявлений! » 2014-02-05 15:45:41

v01d пишет:

Так и пусть, без ссылок.. А ошибки уже не будет.

Ок. Я учту это в следующей версии.

v01d пишет:

А реально список неактивных объявлений на странице site.ru/engine/admin.php сделать?

Именно в статистике ( /engine/admin.php?mod=statistics ) ?
Это сделать можно, но только путем патча самой CMS, т.е. отдельно от плагина.

#628 Re: Запросы плагинов » Доска объявлений! » 2014-02-05 14:11:05

1. В окне выбора изображения можно разом выбрать несколько для этого можно просто зажать ctrl. В любом случае изображения нужно загружать в самый последний момент, т.к. иначе есть вероятность что кто-то что-то не заполнит.
2. Ссылки можно и вырезать, но рано или поздно имхо спамеры могут пробить и рекапчу и соответственно могут начать появляться откровенно спамерские объявления, которые не несут никакой смысловой нагрузки.
3. bb тег url просто был в стандартном шаблоне, можно убрать.

#629 Re: Запросы плагинов » Доска объявлений! » 2014-02-05 13:57:02

v01d пишет:

Похоже скрипт думает что send_zboard.tpl это URL.

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

v01d пишет:

И в случае этой ошибки картинки нужно добавлять снова.

Ну это естветственно. Если произошла ошибка или не заполнено какое-либо поле, значит нужно удалить изображения, т.к. существует вероятность что человек не добавит объявление, а изображения останутся на сервере.

#630 Re: Страницы плагинов » archive :: Архив новостей » 2014-02-05 13:51:32

SFproG пишет:

infinity237, Спасибо! Но замена кода в news.php тоже не помогло. Все так же. Выводятся новости из всех категорий.

Значит вы сделали что-то не так как написано выше.

Пример работы данной правки:
http://air.tw1.ru/2014-02.html
В феврале было добавлено 6 новостей в 4 категории, задача вывести новости за февраль из категории Спорт (ID=3)

#631 Re: Страницы плагинов » archive :: Архив новостей » 2014-02-05 13:05:54

SFproG пишет:

Вот пример http://vse25kadrov.ru/ Тут есть раздел "блог" в этом разделе есть "архив". Нужно чтобы этот архив отображал "новости" только из блога. Остальные категории не нужны. (Они даже по шаблону не вписываются при просмотре архива).

Только теперь понял, что вы хотите. Отображение страниц вида http://vse25kadrov.ru/2013-12.html - жестко зашито внутрь CMS и логика выдачи контента на этих ссылках не управляется внутри плагина, т.к. эти страницы могут быть использованы не только для архива, но и для календаря и других целей.

В вашем конкретно случае, можно внести изменения в /engine/includes/news.php, найти в case 'by.month': код:

$tableVars = news_showlist(array('DATA', 'postdate', 'BETWEEN', array(mktime(0,0,0,$month,1,$year), mktime(23,59,59,$month,date("t",mktime(0,0,0,$month,1,$year)),$year))), $paginationParams, $callingParams);

Заменить на:

$tableVars = news_showlist(array('AND', array('DATA', 'postdate', 'BETWEEN', array(mktime(0,0,0,$month,1,$year), mktime(23,59,59,$month,date("t",mktime(0,0,0,$month,1,$year)),$year))), array('DATA', 'category', '=', 666)), $paginationParams, $callingParams);

Где 666 - ID категории из которой требуется выводить данные в страницы типа http://vse25kadrov.ru/2013-12.html

SFproG пишет:

Этот случай почему-то мне не помог. Поставил айди категории вместо 666 и ничего не изменилось. Хотя, я может что-то не так сделал...

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

#632 Re: Запросы плагинов » Доска объявлений! » 2014-02-05 12:32:43

infinity237 пишет:
v01d пишет:

Добавил!
Картинки нет.
Браузер FF 26.0

ок. понял, что есть проблема, попробую завтра устранить.

Ошибку исправил. Обновил архив: http://ngcms.ru/forum/viewtopic.php?pid=37450#p37450
Если лень перекачивать можно просто в send_zboard.tpl закоментировать/удалить строку:

'checkScript': '/engine/plugins/zboard/upload/uploadify/check.php',

Её же закоментировать/удалить в /engine/plugins/zboard/tpl/config/edit_announce.tpl

Проверял здесь: http://air.tw1.ru/zboard/
FF 27.0
Opera 12.16

#633 Re: Страницы плагинов » archive :: Архив новостей » 2014-02-05 12:14:37

Если говорить о этой конкртеной задаче, то она решается патчем плагина, а конкретно нужно заменить запрос, как это примерно сделать было уже объяснено здесь: http://ngcms.ru/forum/viewtopic.php?pid=36836#p36836
Если требуется отделить категории, то туда нужно прописывать: catid NOT regexp '[[:<:]](666,777)[[:>:]]'

Вводить дополнительный параметр для данной фичи не вижу смысла.

#634 Re: Страницы плагинов » archive :: Архив новостей » 2014-02-05 11:40:32

Покажи где в какой CMS реализован такой функционал в рамках архива?

#635 Re: Страницы плагинов » archive :: Архив новостей » 2014-02-05 11:16:21

Каким образом данный функционал должен относится к архиву?

#636 Re: Запросы плагинов » Доска объявлений! » 2014-02-05 03:42:22

v01d пишет:

Добавил!
Картинки нет.
Браузер FF 26.0

ок. понял, что есть проблема, попробую завтра устранить.

#637 Re: Запросы плагинов » Доска объявлений! » 2014-02-05 03:26:39

v01d пишет:

Изменения есть (появилось сообщение о том что объявление добавлено но нужна активация) но картинки не добавляются.

Хм.. странно...
А на этом тестовом сайте добавляются?
http://air.tw1.ru/zboard/
http://air.tw1.ru/engine/
Login: admin
Password: admin

Какой браузер?

#638 Re: Запросы плагинов » Доска объявлений! » 2014-02-05 02:55:56

Рекомендую всё же использовать tpl файлы из /templates/mangguo/plugins/zboard/, т.к. они актуальные.

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

Из /templates/mangguo/js/ используются jquery.min.js и PictureSlides-jquery-2.0.js
Из /templates/mangguo/css/ используется picture-slides.css

Они нужны для работы слайдера изображений при отображении, шаблон show_zboard.tpl

#639 Re: Запросы плагинов » Доска объявлений! » 2014-02-05 02:49:19

v01d пишет:

Ок.
Ну раз пытаюсь добавлять картинки, значит установил и активировал.
Не добавляются объявления.
После нажатия "Отправить" перекидывает на главную доски объявлений "Ошибка: В данной категории пока что нету объявлений"
Отключил капчу, все равно без изменений.

Объявления появляются не сразу же, а только после активации их в админке, раздел "Список объявлений".

#640 Re: Запросы плагинов » Доска объявлений! » 2014-02-05 02:21:48

v01d пишет:

Загрузка изображений не фурычит.

При нажатии "Select files" - происходит только обозначение, что выбраны некоторые изображения, но не загрузка.
Непосредственно загрузка происходит в момент нажатия кнопки "Отправить". Это сделано для того, чтобы предотвратить случаи, когда пользователь зашел, загрузил изображения но не добавил объявление.

Изображения загружаются в директорию /uploads/zboard/, а в директории /uploads/zboard/thumb/ создаются уменьшенные копии изображений.
Эти директории должны создаваться автоматически при установке плагина. На эти директории должны стоять права доступа chmod 0775.

v01d пишет:

infinity237, Красавчег!
Про установку пару слов напиши.

По установке: загрузить шаблон, загрузить плагин, установить плагин, включить плагин, включить ЧПУ, выставить нужные настройки.

Конкретно по шаблонам и переменным лучше смотреть /templates/mangguo/plugins/zboard/ - там более актуальные шаблоны.

После установки плагина и активации ЧПУ станут доступны страницы:
/zboard/ - главная плагина. (Шаблон /templates/mangguo/plugins/zboard/zboard.tpl)
/zboard/cat/X/ - страницы категорий. (Шаблон /templates/mangguo/plugins/zboard/zboard.tpl)
/zboard/show/X/ - страницы объявлений. (Шаблон /templates/mangguo/plugins/zboard/show_zboard.tpl)
/zboard/send/ - добавление объявления. (Шаблон /templates/mangguo/plugins/zboard/send_zboard.tpl)
/zboard/search/ - поиск по объявлениям. (Шаблон /templates/mangguo/plugins/zboard/search_zboard.tpl)
/zboard/list/ - страница-список объявлений пользователя (доступна только зарегистрированным).  (Шаблон /templates/mangguo/plugins/zboard/list_zboard.tpl)
/zboard/edit/X/ - страница-редактирования объявления (доступна только зарегистрированным).  (Шаблон /templates/mangguo/plugins/zboard/edit_zboard.tpl)

/templates/mangguo/plugins/zboard/variables.ini - отвечает за переменные для постраничной навигации.
/templates/mangguo/plugins/zboard/bb_tags.tpl - отвечает за вывод bb тегов.
/templates/mangguo/plugins/zboard/no_access.tpl - отвечает за вывод информации при открытии страницы пользователем, у которого нету прав доступа к данной странице (например человек пробует открыть страницу редактирования объявления, которое ему не пренадлежит).

В /templates/mangguo/plugins/zboard/block/ - можно складывать любые шаблоны для блоков (как их использовать см. ниже).

Внутри main.tpl можно использовать следующие блоки:
1. {{ callPlugin('zboard.show_entries_cnt') }} - выводит общий счетчик объявлений. Не создает особой нагрузки, т.к. кешируется и запросы в БД делаются только при добавлении+активации в админке объявления и при удалении/редактировании объявления.

2. {{ callPlugin('zboard.show_catz_tree') }} - выводит дерево категорий. Также кешируется как и первый блок.

3. {{ callPlugin('zboard.show', {'number' : 10, 'mode' : 'last', 'cat': '1,3,5', 'template': 'block_zboard_last', 'cacheExpire': 360}) }} - блоки вывода N объявлений.

Поддерживаемые параметры:
- 'number' - число выводимых объявлений.
- 'mode' - режим вывода. [last - по дате активации/редактирования | view - по количеству просмотров | rnd - случайный вывод]
- 'cat' - ID категории/категорий из которых будут выводится объявления. При отсутствии параметра выводится из всех категорий, при необходимости вывода из нескольких категорий нужно записать через запятую ID категорий. Например, запись 'cat': 1,3 - означает вывод только из категорий с ID=1 или ID=3.
- 'template' - выбор шаблона, который будет отвечать за вывод блока (должен лежать внутри /templates/mangguo/plugins/zboard/block/, либо внутри /engine/plugins/zboard/tpl/block/)
- 'cacheExpire' - число секунд через которые будет обновлятся кеш.

4. Также в main.tpl поддерживаются страндартные TWIG блоки, которые позволяют выводить/скрывать определенные блоки в зависимости от страницы на которой находится посетитель.
- {% if pluginIsActive('zboard') %}XXX{% endif %} - выводится если плагин zboard активирован.
- {% if isHandler('zboard') %}XXX{% endif %} - выводится только на всех страницах плагина zboard, но не выводится на других страницах.
- {% if isHandler('zboard:list') %}XXX{% endif %} - выводится только на странице /list/ плагина zboard.
- {% if isHandler('zboard:edit') %}XXX{% endif %} - выводится только на всех страницах /edit/X/ плагина zboard.
- {% if isHandler('zboard:send') %}XXX{% endif %} - выводится только на на странице /send/X/ плагина zboard.
- {% if isHandler('zboard:show') %}XXX{% endif %} - выводится только на всех страницах /show/X/ плагина zboard.
- {% if isHandler('zboard:search') %}XXX{% endif %} - выводится только на на странице /search/ плагина zboard.

v01d пишет:

ps: Кошелек WM c тебя.

Давай сначала проведем "опытную эксплуатацию" и устраним имеющиеся недочеты, если такие будут.

#641 Re: Запросы плагинов » Доска объявлений! » 2014-02-05 00:24:37

Плагин готов. Полностью соответствует заявленному ТЗ, но возможны мелкие недочёты, которые компенсируются дополнительным функционалом.
Посмотреть в работе можно здесь: http://air.tw1.ru/zboard/

Основной функционал:
1. Возможность добавлять/удалять/редактировать объявления зарегистрированному пользователю.
2. Возможность разрешить добавление объявлений от имени гостя.
3. Возможность подключения капчи - используется reCaptcha.
4. Фильтр ссылок про добавлении объявления.
5. Блоки на главной: последние, рандом, часто просматриваемые.
6. Снятие объявлений по истечению времени по cron'у и возможность продления срока действия объявления.
7. ЧПУ для URL'ов.
8. Кеширование. Блоки на главной кешируются по времени, счетчик общего числа объявлений и дерево категорий - по событию добавления/удалени/снятия категории/объявления.
9. В tpl шаблонах используется TWIG.
10. Возможность созданий собственных категорий любой вложенности.
11. Вывод дерева категорий с отступами.
12. Возможность вести статистику просмотров - счетчики просмотров [3 режима работы: отключено, включено, отложенный режим]
13.а Шаблон для демонстрации работы внутри архива.
13.б Карусель для изображений в шаблоне.
13.в Возможность использовать ббкоды при добавлении объявления.
14. Собственный поиск по объявлениям.
15. Редактирование/удаление объявлений в админке.
16. Добавление/редактирование/удаление категорий в админке.

При разработке использовались плагины и наработки ROZARD'a за что ему отдельное спасибо.
Из плагина, при наличии желания и опыта можно сделать практически любой CRUD со своей логикой и.т.д.

#642 Re: Страницы плагинов » complain :: Сообщить о проблеме в новости » 2014-02-03 02:21:40

На приведенном выше сайте тоже:
0.9.3 + SVN [SVN1178+]
complain 0.06

Полгаю, что проблемы где-то на вашей стороне, в шаблоне или ещё где. Для дальнейшего установления причины проблемы нехватает информации.

#643 Re: Страницы плагинов » complain :: Сообщить о проблеме в новости » 2014-02-03 01:36:00

В каком виде заполнен список? В списке есть спец.символы, вроде одинарных/двойных ковычек?

Вот здесь работает:
http://ngtest01.ngdemo.ru/games/taifun-v-tokio-afp.html

1|Заменить ссылку
2|Спам в новости
3|Другая ошибка
4|Ошибка 1
5|Ошибка 2

#648 Re: "У меня не работает..." » Перестал работать сайт на этом движке » 2014-01-22 22:35:46

Вообщем с ROZARD'ом удалось установить проблемные места:
1. В php.ini на время прописать display_errors on и error_reporting = 2147483647
После этого на главной странице должны начать появлятся все ошибки, Warning и Notice можно впринцепе пропускать, т.к. они не критические.
2. Смотрим fatal ошибки, они в основном своём возникают из-за того, что начиная с php 5.4 передача переменной по ссылке ( foo(&$a) ) стала невозможна, поэтому использование этого приема приведет к фатальной ошибке.

Соответственно:
1) В /engine/includes/inc/extras.inc.php начиная с 360 строки, в 4 местах убрать амперсанды из аргументов функций, например:

$sth.=call_user_func($func['function'],$sth, &$arg1);

Заменить на:

$sth.=call_user_func($func['function'],$sth, $arg1);

2) В /engine/includes/classes/uhandler.class.php, 587 строка: &$skip поменять на $skip.

Возможно ещё где-то что нужно поменять, т.к. вглубь админки и плагинов не лазили, поэтому смотрите сами по ошибкам что-где. После исправлений можно убрать вывод Warning в php.ini

В 0.9.4RC таких проблем не возникает, т.к. там скорее всего эти места уже вычищены.

#650 Re: "У меня не работает..." » Ошибка с рейтингом и комментариями » 2014-01-21 14:14:45

Естетственно выводит alert, если /plugin/comments/add/ вернул 500 ошибку.

Подвал раздела

Работает на FluxBB