Вы не зашли.
vip, возможность выбора из уже использованных значений или всё включая "показать все фильмы продюсера XXX"?
vitaly, при переводе на на твиг можно использовать что-то вроде такого для режима сохранения кода:
{% if 1 in [xvalue_NAME] %} 1 {% endif %} {% if 2 in [xvalue_NAME] %} 2 {% endif %}
Нельзя
Можешь описать суть задачи?
Мне кажется, всё можно решить значительно проще...
в плагине xfields добавить возможность добавлять теги например как у кинопоиска http://www.kinopoisk.ru/level/1/film/102146/
Так.. а где там теги?
Ты про поля "Сценарий", "Продюсер",... ?
vip, можешь более детально описать задачу? Я не очень понимаю что может быть общего между xfields и tags
KhadeR, сейчас - нет.
И как ты собираешься это использовать/отображать пользователю?
alekstal, есть несколько проблем над которыми надо ещё подумать:
1. Как не терять файлы в случае, если пользователь неправильно заполнил какие-то поля
2. Как гарантировать что файлы в итоге дойдут до получателя
3. Как не захламлять временное хранилище этими файлами
Вообще в итоге нужно делать что-то вроде:
1. AJAX загрузка файлов (на фоне) до отправки самой формы
2. Временное хранение этих файлов на сервере
3. Отсюда следует, что заполненные формы нужно не только отправлять по email'у, но и хранить в самом плагине со своими сроками жизни и так далее.
Сделано будет, но на следующем этапе.
Сейчас плагин просто актуализировался с использованием TWIG и небольшим добавлением функционала.
vl, это можно будет реализовать после полноценного запуска групп пользователей.
1. xfields - группа изображений - не добавляет штамп.
Есть такое, исправлю.
2. каатинка краткой новости добавляет, но сам тег поля не исчезает [xvalue_qqq]
Не исчезает только если нет приложенных файлов.
Вообще переменную надо было брать в блок [xfield_qqq] ... [/xfield_qqq]
Исправил, теперь при отсутствии приложенных файлов переменная будет возвращать пустой текст (т.е. исчезнет из отображения, как ты и хотел).
3. при выборе полной версией картинки по стандартному шаблону
{% else %}
<a target="_blank" href="{{ entry.url }}">{{ entry.origName }} ({{ entry.description }})</a>
{% endif %}
entry.origName - исправил, см. SVN
entry.description - поле в БД есть, но конкретно сейчас его нельзя заполнять.
Исправлю.
получаем ссылку состоящую из двух скобок:
<a target="_blank" href="http://ng3/uploads/dsn/c4/6e/001/emsscreenshot-20110831-141500.jpg"> ()</a>А куда прописывать прописывать описание и альты к краткой и полной картинкам?
У тебя будет 2 переменных - origName и description, рулить можно ими.
В связи с этим, было бы очень неплохо включить поддержку переменных шаблонов новостей {title} [full-link] и подобного или же наоборот подключить переменные плагина к шаблонам новостей.
Идея неплохая, но это уже задача на будущее. Сейчас такого не сделать.
Для гибкости, краткой и полной новости следует присвоить индивидуальные шаблоны:
newsSHORT..show.images.tpl и newsFULL.show.images.tpl
TWIG отлично поддерживает условные блоки и include.
Для решения данной задачи добавил 2 новых переменных:
* execStyle - режим запуска (принимает значения: short, full, export, export_body, export_short, export_full), тебя должны интересовать short и full.
* execPlugin - ID плагина, который вызывает отрисовку доп. полей (к примеру, lastnews и др.), если вызов делается ядром, то поле не заполняется.
Можно сделать, к примеру, так:
{% if (execStyle == 'short') %}
{% include localPath(0) ~ "newsSHORT.show.images.tpl" %}
{% endif %}
{% if (execStyle == 'full') %}
{% include localPath(0) ~ "newsFULL.show.images.tpl" %}
{% endif %}
и поместить шаблоны newsSHORT.show.images.tpl и newsFULL.show.images.tpl рядом с текущим шаблоном news.show.images.tpl
Более того, в этом шаблоне можно пользоваться глобальной переменной global.flags.isLogged, детали см. в документации (в SVN версии) в разделе "Шаблонизатор TWIG".
Пути при заливе изображений постоянные или динамические?
В каком смысле?
Каждый файл заливается в определённый каталог, путь к этому файлу статичен.
Я ответил на твой вопрос?
Так же на странице редактирования шаблонов(/engine/admin.php?mod=templates) поплыла верстка.
http://imagepost.ru/thumbs/e/di/edittpl.gif
Это ты про появившийся скролбар? Если да, то так и задумано.
о можно написать
$ids = array(); foreach($list_id as $id) $ids[] = "news_id = {$id}"; ...
А если $list_id не определён или в нём какая-то фигня? Будут варнинги
Так что проверка с is_array() крайне желательна.
В SVN выложена обновлённая версия плагина xfields, теперь появилась возможность показывать в новости изображения из доп. поля типа "группа изображений".
Детали - в readme файле плагина.
Тестируем, обновление как раз успевает попасть в релиз.
по xfields чтото изменилось или еще не доделано?
тоесть примерно все как было месяц назад?
За последний ~месяц по xfields ничего не менялось.
vip, да, группы пользователей 100% будут.
t3s, в случае с xfields ничего тормозить не будет.
cmsTester, это файл-описание шаблона. если его удалить, то переключиться на данный шаблон через админку не получится.
Лучше его оставить и правильно заполнить
ROZARD, а, понял. я думал ты ошибку в engine/includes/news.php нашел
ROZARD, где ты там (в news.php) ошибку нашел?
vitaly пишет:nalex, на денвере нет самого главного - кеширования кода PHP.
На хостинге всё будет работать значительно быстрее, хотя даже те 110ms (уходящие на генерацию страницы) человек заметить не в состоянии.Значит, насколько я понимаю, - страница генерируется мгновенно, а остальное - загрузка и выдача уже посетителю, скорость зависит уже от хостинга?
Время отображения страницы зависит от массы деталей:
1. Время генерации и отдачи самой страницы
2. Кол-во дополнительных элементов страницы (изображения, внешние JavaScript'ы, CSS'ки)
3. Время получения внешних элементов
4. Время отрисовки страницы в браузере посетителя
Вот время генерации п. 1 (скажем, +/- 100ms) человеческий глаз заметить не сможет.
А по пунктам 2-4 всё не так просто - даже при 20-30 картинках мы легко получим задержку в 500 ms, плюс какое-то время уйдёт на отрисовку... и вот результат - страница будет показана через секунду после окончания её скачивания и уж эту-то секунду пользователь заметит очень легко.
Естественно, от хостинга тоже многое зависит. Но зависит либо на нагруженных сайтах, либо при совсем уж гнилом хостинге.
В обычной ситуации скорость работы нормального хостера можно охарактеризовать просто - "скорость достаточная, чтобы не иметь проблем"
nalex, на денвере нет самого главного - кеширования кода PHP.
На хостинге всё будет работать значительно быстрее, хотя даже те 110ms (уходящие на генерацию страницы) человек заметить не в состоянии.
nalex, это совершенно нормально.
Скорее всего у тебя по умолчанию включено несколько плагинов, если в них включить кеширование (на сайтах с парой новостей и редкими посетителями - неактуально), то скорость работы станет выше.
Wolverine, спасибо, учёл
t3s, сами по себе дополнительные поля хранятся внутри новости, т.е. когда ядро делает запрос на новость (select * from ng_news where .id="ID_новости"), то в данном запросе мы уже получаем не только саму новость, но и все доп. поля данной новости.
Экономия производительности возможна только на стадии отображения новости (отрисовки шаблона) и несущественна (менее 1%)
Разделение на группы сделано для удобства ввода/управления полями, а не для повышения производительности.
Выложена версия 0.9.3 Release Candidate 1 [SVN856].
Просьба перенести все неисправленные ошибки в новую тему, тут точно что-нибудь могло потеряться.
Если ошибки некритические, то их решение отложим на более поздний срок и выпустим релиз в текущем варианте.
Доступна для скачивания версия 0.9.3 Release Candidate 1 [SVN 856]
Текущая RC - копия SVN ветки и содержит все последние изменения.
Версия рассматривается как pre-release сборка, если в ней не будет найдено серьёзных ошибок, то именно она будет выпущена в качестве релиза.
Скачать версию можно тут:
* RAR (1098 Kb)
* ZIP (1756 Kb)
Обещанный список изменений между версиями 0.9.2 => 0.9.3 (полная версия):
+ Общая переработка админ-панели, перевод её на шаблонизатор TWIG
+ [TWIG] Добавлена поддержка нового TWIG based шаблона news.categories.tpl, данный шаблон (при его наличии) используется для генерации меню категорий
+ Добавлена возможность генерировать короткую новость из полной при вызове функции news_showlist(), в настройки данная возможность не выведена, её можно включить изменением кода
+ Добавлена настройка "настройки системы" => "безопасность" => "Вывод ошибочных SQL запросов", теперь вы можете выбрать тип пользователя (администратор/зарегистрированный пользователь/все посетители), которому будет отображаться текст SQL запроса, содержащего ошибки
% Теперь при транслитерации пробел заменяется на "-" (вместо "_")
+ Расширены возможсности generate_config_page (генерация страницы настроек для плагина)
+ В классе tpl (старый шаблонизатор) добавлена новая возможность - условные блоки, зависящие от текущего местоположения на сайте [ifhandler:Plugin:Handler], [ifhandler:Plugin:], [ifhandler:Plugin]
% Оптимизация библиотеки libsuggest, теперь она должна корректно работать во всех браузерах (проверял в FF, Opera, Chrome), также теперь при возникновении HTTP ошибки теперь в дополнение к HTTP коду выводится также URL запроса
% Обновление библиотеки libcompat (совместимость с не-ЧПУ режимом) - добавлена поддержка прямых ссылок на новость через переменную id, добавлена поддержка работы на поддоменах и исправлены ошибки
+ Расширение функционала статических страниц - добавилась поддержка "страницы для печати" и возможность задания собственной страницы для печати и замены основного шаблона main.tpl
+ Появилась возможность динамической подгрузки RPC функций
+ Добавлена возможность выставления rel="nofollow" и target="_blank" для всех ссылок, опция вынесена в конфигурацию системы
+ Библиотека jQuery добавлена в админ-панель движка
+ Переработан интерфейс управления категориями, добавлено поле "информация" для категорий, его содержимое можно отображать при открытии страницы категории на сайте.
% Обновление функции locatePluginTemplates() - добавлен новый параметр 'block'
+ Добавлена функция-заглушка checkPermission() для распределения (в будущем) прав доступа
+ Добавлена возможность добавлять иконки (прикладывать картинки) к категориям.
+ Добавлена поддержка нового файла шаблона - news.table.tpl (описание см. в документации)
+ Небольшой финт - если в списке новостей в фильтре пользователей набрать "!" (восклицательный знак, без кавычек), то будут выведены TOP20 пользователей с максимальным кол-вом новостей (сортировка по уменьшению кол-ва новостей).
+ Актуализированы скрипты NGCMS для корректной работы с PHP 5.3.3
+ В файл variables.ini шаблона вынесена возможность управления генерацией дерева категорий
% Добавлена эмуляция функции json_decode для PHP, собранного без данной функции
+ Добавлена глобальная переменная $DSlist - она определяет зарегистрированные в системе ID DataSource'ов и фиксирует их
+ Добавлена кука ngTrackID - кука может использоваться плагинами, которые не требуют регистрации (с одной стороны), но при этом требуют отслеживания действий пользователей (например, "корзина" и аналогичные плагины)
+ Обработчик URL'ов теперь пользуется параметрами из массами setVars, это позволяет, к примеру, вывести на главную страницу определённую новость/статик страницу, либо конкретную страницу любого другого плагина. Поддержка режима редактирования пока не реализована, есть только поддержка ядра.
+ Добавлен конфигурационный параметр "разрешить новости без текста"
+ В конфиге теперь можно задавать максимальный размер фотографии как по оси X так и по оси Y
% Фикс в функции fixdb_plugin_install(), теперь плагины должны корректно устанавливаться в случае, если у таблицы users другой (отличный от стандартного) префикс.
% Фикс со смайлами в опере
% Теперь пароль БД скрывается звёздочками (изменён тип поля с "text" на "password")
% Исправление ошибки - ошибка 404 для новостей находящихся в нескольких категориях и при использовании {catid} в URL'е новости. [!!] Для активации изменений необходимо зайти в "Настройки" => "Управление форматом ссылок" и нажать "Save" [!!]
+ Новые функции класса urlHandler:
* removeHandler - удаляет конкретную строчку обработчика
* removePluginHandlers - удаляет обработчики конкретного плагина (один или все), применим при удалении плагина
+ Расширение возможностей обработчика URL'ов.
В глобальную переменную $CurrentHandler добавлен новый параметр 'handlerParams', это массив с элементами:
* 'num' - номер строки обработчика ЧПУ
* 'value' - значение строки обработчика ЧПУ (из rewrite.php)
% В шаблонизаторе TWIG добавлена функция localPath(), возвращающая каталог текущего шаблона, использовать localPath(0)
Пример: {% extends localPath(0) ~ "site.body.tpl" %}
Применяется для вставки шаблонов (include, extends) и позволяет брать вложенные шаблоны из того же каталога что и основной.
% Заменен обработчик фатальных ошибок старого шаблонизатора. Теперь будет значительно проще диагностировать проблемы при возникновении такой ошибки
% Для статических страниц (при их отображении) добавлена глобальная переменная $SYSTEM_FLAGS['static']['db.id'] с ID статической страницы
Amarelius пишет:093 отличается от 092 только плюшками в плагине xfields.
помнится, в ветке плагина была мысль чтобы определенным категориям можно было назначать определенные поля...
то ли не реализовано, то ли не нашел где включается...
Не нашел где включается
В настройках плагина заходишь в раздел "новости: группы", там создаёшь свои группы полей.
Далее в редактировании категории (каждой категории) находишь раздел "Фильтрация доступных доп. полей для категории" и выбираешь группу полей.
Wolverine, проблема в том, что полный список ID'шников ты узнаёшь в самом конце
Мысли на самом деле есть, возможно успею сделать до релиза