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

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

Вы не зашли.

#926 Re: "А как сделать..." » thumb_size нужно, что-бы данная настройка влияла только на "Y" » 2011-02-20 15:56:25

mittus, сделал на локали.
В следующем SVN патче выложу фикс, появится возможность в настройках задавать как макс. размер по оси X так и по оси Y отдельными переменными.

#927 Re: Релизы версий » Версия 0.9.2 Release » 2011-02-20 12:14:17

KhadeR, спасибо за найденную ошибку!
Wolverine, с багтрекером беда - у меня нет прав на удаление спама, а спама там сейчас ужасно много.

#928 Re: "А как сделать..." » Что находится в домен/engine/conf/extras/cron/ » 2011-02-20 01:42:25

kolia, там лежит конфиг и временные файлы плагина cron.
Если точнее, то:
engine/conf/extras/cron/crontab - настройки плагина
engine/conf/extras/cron/tmp/ - ОДИН файл, имя которого соответствует unixtime'у последнего успешного запуска плагина.

Если в tmp/ лежит масса файлов, то можешь смело их удалять.

#929 Re: Запросы на доработку ядра » Шаблоны админки и сайта в папке templates в корне » 2011-02-19 00:36:30

KhadeR, если создатель админки готов поиметь массу проблем с адаптацией, то что ему мешает самому положить свой дизайн админки в каталог engine/skins/ вместо существующего?

#930 Re: Запросы на доработку ядра » Шаблоны админки и сайта в папке templates в корне » 2011-02-19 00:29:06

... и огрести по полной программе проблемы совместимости.
Админка довольно часто меняется в отличии от шаблонов сайта.

#932 Re: "У меня не работает..." » Проблема с капчей » 2011-02-16 15:23:24

Wolverine, не нашел - session_start вызывается из core.php, который, в свою очередь, инклудится в captcha.php

#933 Re: FAQ » TWIG - что надо о нём знать для успешного создания шаблонов » 2011-02-16 03:57:36

Обновления SVN:
+ Теперь TWIG доступен везде
+ Добавлена функция pluginIsActive
+ Добавлена глобальная переменная handler, ссылка на переменную PHP $CurrentHandler

Теперь функционала достаточно для реализации всех существующих шаблонов на TWIG'е.

#934 Re: Флейм » Дизайн и ошыбки странички 404 » 2011-02-14 20:22:13

legenda, в

function error404(){

убрать строку:

	@header('HTTP/1.1 404 Not found');

А лучше - обновить PHP smile

#935 Re: Флейм » Дизайн и ошыбки странички 404 » 2011-02-14 18:07:54

Wolverine, а никак smile
У меня эта страница с 200м кодом выдаётся, там такого косяка нет.

#936 Re: Флейм » Дизайн и ошыбки странички 404 » 2011-02-14 16:14:51

Wolverine, спасибо!
Я тоже не знал, что это лечится банальным обновлением PHP или небольшой донастройкой.

#938 FAQ » TWIG - что надо о нём знать для успешного создания шаблонов » 2011-02-13 14:58:08

vitaly
Ответов: 27

Последнее время возникла масса споров относительно использования нового шаблонизатора TWIG.
Постараюсь в этой теме собрать исчерпывающее объяснение причин и научить любого желающего пользоваться TWIG'ом.

Итак, первый вопрос - ЗАЧЕМ?
У существующего шаблонизатора есть несколько серьёзных проблем, а именно:
* работа с шаблонами как с обычным текстом (невозможно отделить переменные от элементов дизайна) - а это значит, что при каждой генерации страницы шаблонизатору приходится выполнять 200-600 символьных замен текста и около 100-200 замен текста при использовании регулярных выражений. итого - низкая производительность
* работа в интерпретирующем режиме - обработка любого шаблона каждый раз требует достаточно много времени
* каскадная обработка переменных - из-за использования функций символьной замены в шаблонизаторе возможны обработки переменных внутри переменных. например, попробуйте в текст новости добавить {mainblock} и можете увидеть (а можете и не получить) сюрприз (зависит от массы факторов)
* отсутствие условных блоков, они заменяются регулярными выражениями (работают медленно, на очень длинных массивах данных возможно катастрофическое падение производительности), возможность отработки только тех условий, которые жестко внесены в код ядра/плагина
* отсутствие циклов, для повторяющихся (даже крайне примитивных) действий требуется создавать новый шаблон

Преимущества TWIG'а:
* компилирующий режим - первая генерация шаблона (после изменения текста шаблона) занимает относительно много времени, но все последующие генерации работают в сотни раз быстрее существующего шаблонизатора
* модульный режим - медленный модуль компиляции (выполняемый редко) и очень быстрый модуль отображения (выполняется при каждом отображении шаблона)
* чёткое разделение текста и переменных в шаблоне - а это значит, что у нас не будет проблем с множественной обработкой шаблона
* наличие условных блоков и возможность создавать сложные условия. главное, чтобы нужные флаги были выставлены в коде ядра/плагине
* наличие циклов - простые повторяющиеся действия можно сделать внутри шаблона

А всёже?
Действительно, полный функционал TWIG'а подавляет - это свой собственный мир, свой язык.
Но... возьмём, к примеру, есть среди нас хоть кто-то, кто использовал более 60% возможностей современного телевизора? Сильно сомневаюсь.
И при этом телевизором пользуются многие... думаю, аналогия ясна.

Практика - отличия для дизайнера
1) Формат переменных.
Старая запись: {variableName}
Новая запись: {{ variableName }}

2) Условные блоки.
Старая запись: [if-logged] тут_текст [/if-logged]
Новая запись: {% if (user.flags.logged) %} тут_текст {% endif %}

3) Простые циклы.
Старая запись:
* основной шаблон: {entries}
* дополнительный шаблон: имя: {name}, записей: {count} <br/>

Новая запись:
{% for entry in entries %}
имя {{ entry.name }}, записей: {{ entry.count }} <br/>
{% endfor %}

4) Отображение блока в случае, если активен конкретный плагин (например, xfields):
Старая запись: [isplugin xfields]...[/isplugin]
Новая запись: {% if pluginIsActive('xfields') %}...{% endif %}

Практика - новые возможности для дизайнера
Благодаря наличию глобальных переменных, появляется возможность использовать некоторую информацию абсолютно во всех шаблонах.
Давайте придумывать примеры:
1. Выводим логин пользователя или слово "гость", если пользователь не залогинен:
Привет, {% if (user.flags.logged) %}<b>{{user.name}}</b>{% else %}гость{% endif %}!

2. Персональный блок для пользователя с логином "vasya":
{% if (user.flags.logged and (user.name == 'vasya')) %} да здравствует Вася!{% endif %}
А теперь - самое важное
Чуть-чуть модифицированный TWIG (а у нас используется именно такой вариант) позволяет полностью сохранить существующие шаблоны сайта!

Достаточно существующего функционана? Продолжаем использовать то что есть.
Хочется что-то новое? Переходим на TWIG, причём только в нужных файлах-шаблонах.
[hr]
Доступные элементы:
* Глобальные переменные:
> lang - глобальный массив с языковыми переменными
> skins_url - URL к каталогу engine/skins/
> admin_url - URL к каталогу engine/

* Функции:
> pluginIsActive(NAME) - возвращает true если данный плагин сейчас активен
Пример: {% if pluginIsActive('xfields') %}Доп. поля включены!{% endif %}

Ваши вопросы/предложения жду в этой теме...

#939 Re: Флейм » Панель управления (админка) "Black dahlia". » 2011-02-13 13:58:13

Так... похоже большая часть посетителей попалась в довольно стандартную ловушку - решили изучить на 100% возможности TWIG'а.... и поняли, что там всё очень сложно.
На самом же деле в NG будет использоваться всего несколько "фишек", остальное - только по желанию разработчика шаблона.

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

#940 Re: "А как сделать..." » Как можно на время отключить ЧПУ? » 2011-02-13 00:18:10

Shadow, вообще отключение ЧПУ как такового в системе не предусмотрено вообще - в NG ЧПУ это не специальная надстройка, а механизм обработки URL'ов.

Но действительно, добавив в URL знак "?" можно создать видимость отключения ЧПУ smile

#941 Re: Запросы плагинов » Трудно ли создать самому плагин?=) » 2011-02-10 01:41:33

Poople, зависит от знаний и желания учиться.
Если знаком с PHP (или любым другим языком программирования), то за вечер вполне реально написать простой (или даже не очень простой) плагин.
Если не знаком,.. но хочешь изучать, то простой плагин напишешь за 2-4 вечера...

#942 Re: Флейм » Панель управления (админка) "Black dahlia". » 2011-02-10 01:34:51

Codwyn пишет:

vitaly, пусть будет новый шаблонизатор, пусть вы переделаете все ядро. Я всего лишь потрачу еще одну неделю, и сделаю то, что захочу. Или при изменениях грядущих у меня ничего не выйдет?

В SVN выложен большой патч.
Он включает в себя новый шаблонизатор + переделку под twig (с точки зрения шаблона, визуально это никак не видно) нескольких разделов.

Надеюсь, что на актуализацию уйдёт не неделя, а максимум пол дня.
Серьёзных проблем при переводе на новый шаблонизатор возникнуть не должно, но советую сразу начать с чтения документации по twig - сэкономишь массу времени.

Codwyn пишет:

Список изменений весь уровня "точка, запятая". Я по моему и менял то, слово "Не прочитано" на конвертик. Я просмотрю, разберу и отпишусь.

Если это почти всё что менялось, то есть смысл такие изменения внести в код двига и в этом случае твой шаблон сможет полностью уложиться в папку engine/skins/, что значительно облегчит поддержку отдельной версии шаблона.
А возможно, такие "изменения" можно будет сделать просто на уровне шаблона и тогда вообще не понадобится менять PHP код движка.

#943 Re: Флейм » Панель управления (админка) "Black dahlia". » 2011-02-10 00:20:19

Codwyn, кстати, ещё одна ложка дёгтя - админка постепенно переводится на новый шаблонизатор и будет массовое изменение файлов-шаблонов админ-панели + массовое изменение кода админки (в части работы с новым шаблонизатором).

p.s. Составь, plz, cписок необходимых тебе изменений в коде админки (engine/actions/), если там нет ничего критичного, то можно будет их интегрировать в код.

#944 Re: "А как сделать..." » нужна помощь с usermenu.tpl » 2011-02-10 00:16:52

99% за то, что у  тебя шаблон сохранён в формате UTF-8 smile
Пересохрани его в Windows-1251 и вместо непонятных символов будет обычный текст.

p.s. Про отступ не знаю.

#945 Re: Флейм » Панель управления (админка) "Black dahlia". » 2011-02-10 00:11:55

Codwyn, детально не смотрел, но судя по объёму приложенных к архиву файлов, ты вносил изменения практически в весь двиг?
Если да, то админка точно не приживётся.

Единственный, как мне кажется, жизнеспособный вариант - делать преобразование существующей админки при помощи изменения CSS, и, возможно, изменения некоторых шаблонов. Но обязательно не затрагивая кода самой админки.

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

p.s. Если ещё одна не сильно бредовая идея - вынести хотябы часть функционала двига в RPC и таким образом максимально отделить панель управления от ядра. Тогда да, вполне адекватно смогут жить одновременно 2 панели.
Сейчас, к сожалению, полностью через RPC работает только механизм управления ЧПУ ссылками.

p.p.s. Смотрел пока только скриншоты, выглядит красиво.
Хотя если серьёзно, то админке нужна не сколько новая раскраска, сколько актуализация элементов управления - надо добиться, чтобы наиболее используемые функции были ближе всего.

#947 Re: "А как сделать..." » Sitemap » 2011-02-08 18:00:53

Wolverine, я тут тоже особо ничего не подскажу.
magliona, судя по всему сайты живут у разных хостеров (или у одного, но с разными режимами работы PHP) и один из них запрещает менять заголовок "Content-type" из скрипта.
Возможно, "проблемный" сайт живёт на связке Apache + CGI PHP, а "правильный" - на Apache + mod_php

В общем, обращайся к хостеру, проси решить проблему.

p.s. Заглянул в заголовки, почти угадал.
ya-cs живёт на apache2 + php (причём очень похоже, что CGI. хотя не факт)
iphones - на nginx + [возможно apache] + php (возможно в FastCGI режиме, либо в варианте apache + mod_php)

#948 Re: Запросы на доработку ядра » Организация блоков контента html, php и логика в шаблонах » 2011-02-08 01:03:51

mittus, в локальной версии (которая ещё не выложена в SVN) он уже подключен, правда только к админке (для тестирования).
В SVN выложу в ближайшие 2-3 дня для тестирования всеми желающими.

Но полноценная поддержка TWIG'а во всех шаблонах требует заметного изменения кода движка (при этом обеспечение обратной совместимости займёт времени больше, чем просто подключение), поэтому будет делаться постепенно.

#949 Re: "А как сделать..." » Поиск по заголовкам » 2011-02-07 23:22:53

zheka пишет:

2. В общем сделал вывод в комментариях ( количество сообщений, дату регистрации ) как сделать чтобы вместе со счётчиком {reg} и {com}  выводился заголовок Регистрация: Сообщений:, сейчас заголовки прописаны в шаблоне, а нужно встроить в сам плагин комментов, нужно это для того чтобы у гостей  не отображалась графы регистрация и количество сообщений. Чтобы эти пункты были только у пользователей, а у гостей отсутствовали

Оберни в блок [is-logged] ... [/is-logged]

#950 Re: Запросы на доработку ядра » Организация блоков контента html, php и логика в шаблонах » 2011-02-07 15:10:08

mittus, данные идеи можно будет реализовать при помощи шаблонизатора twig.
А именно:
* условные блоки
* генерация контента по запросу (если в шаблоне нет ссылки на плагин "X" и плагин "X" отвечает только за генерацию отображаемого контента, то совершенно нет смысла запускать данный плагин)

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

Работает на FluxBB