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

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

Вы не зашли.

#151 Re: Страницы плагинов » jCHAT :: AJAX чат для сайта » 2013-06-14 13:53:48

Если вдруг не все следят за SVN - появилась новая версия плагина:

[0.08][2013-06-02] [[ !! Только для SVN1157+ == Необходимо удалить и заново установить плагин !! ]]
+ БД плагина переведена на UTF8, для корректной работы необходимо удалить и заново установить плагин.
  Теперь корректно поддерживаются национальные кодировки

#152 Re: "А как сделать..." » Интернет-магазин » 2013-06-14 00:19:03

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

Так что пока на NG можно сделать обычный offline интернет-магазин, когда деньги передаются курьеру на месте.

#153 Re: "А как сделать..." » Интернет-магазин » 2013-06-13 23:49:12

Yuliko, если интернет-магазин небольшой (десятки-сотни товаров) и нет требований к оформлению доставки/созданию красивых писем-нотификаций/отслеживаний статусов доставки, то сделать можно и работать всё будет. Сейчас основная проблема - отсутствие реальной задачи. Делать "сферический магазин в вакууме" не очень получается.

Задача по созданию магазина решается связкой плагинов:
* xfields - задание полей типа "цена", "наличие" и так далее, включая понятие "таблица" (когда у одного товара могут быть разные цвета или разные размеры и посетитель может положить в корзину нужный ему вариант цвета/размера)
* basket - корзина заказа
* feedback - формирование заказа и отправка Email сообщения администраторам и посетителю

#154 Re: "А как сделать..." » xnews вывод новостей из главной и дочерних » 2013-06-13 09:40:51

AI, что тут есть "главная" и "дочерняя".
Ты дал пример дерева категорий, но не сказал на каких страницах нужен блок xnews и в каких категориях/новостях с какими категориями находится посетитель.

#155 Re: Запросы плагинов » плагин загрузки файлов » 2013-06-13 09:38:31

irbees2008, без переделки механизма добавления новостей (и плагина nsm) - будет крайне сложно сделать загрузку файлов при создании новости.

#156 Re: "А как сделать..." » Добавить элемент удаляющийся в определенное время » 2013-06-13 09:37:40

irbees2008 пишет:

А без дополнительного поля ,чтобы брал дату новости в которой стоит и сравнивал с текущей?

Алгоритм:
1. Открываешь /readme/docs/index.html
2. Смотришь шаблон news.short/news.full
3. Ищешь там описание TWIG переменных и находим ответ на свой вопрос

Ответ где-то рядом.
Если и это не поможет, то присмотрись к переменной news.dateStamp

#157 Re: "А как сделать..." » Добавить элемент удаляющийся в определенное время » 2013-06-13 01:41:33

AI, а вот на этот вопрос ты сможешь ответить сам smile
1. Открываешь Яndex и вводишь в строке поиска "twig"
2. Находишь ссылочку на страничку проекта (ссылка с заголовком "Homepage - Twig - The flexible, fast, and secure PHP template engine")
3. На странице TWIG'а выбираешь раздел "DOCUMENTATION" и читаешь-читаешь-читаешь
4. Чтобы немного сократить время поиска - загляни в конец страницы, блок "Functions"

p.s. Именно так я поступил, когда попробовал найти решение для твоей задачи.
Открыл документацию по TWIG'у и начал думать... но было бы неплохо, если бы остальные также старались поступать. Это полезно и мне (меньше времени тратить на тривиальные вопросы) и всем остальным (не надо ждать ответа, можно самим много чего сделать)

p.p.s. Точного ответа на твой вопрос я не знаю, но "скорее да, чем нет. смотри в доках"

#158 Re: "А как сделать..." » Добавить элемент удаляющийся в определенное время » 2013-06-12 23:17:47

Забыл сказать, дату нужно указывать в формате ГГГГ-ММ-ДД (к примеру, 2013-03-24).

#159 Re: Запросы плагинов » плагин загрузки файлов » 2013-06-12 21:54:12

И у движка и у NSM есть один существенный недостаток - невозможно загрузить файл до тех пор пока сама новость не создана.
Чтобы эту проблему решить - необходимо немного расширить понятие "черновик" и создавать черновики сразу же после нажатия на кнопку "добавить новость" (по аналогии с черновиками, создаваемыми в WEB интерфейсе gmail'а).

#160 Re: "А как сделать..." » Добавить элемент удаляющийся в определенное время » 2013-06-12 21:51:15

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

Алгоритм таков:
1.1. Создаём доп. поле с ID "date" (не обязательно именно таким) тип "текстовый", в него будем записывать дату.
1.2. Создаём доп. поле с ID "info" тип "текстовый блок", в него будем записывать доп. информацию (если она меняется)

2. В шаблоне news.full.tpl (а при желании - и в news.short.tpl) добавляем строку:

[TWIG]
{% if (p.xfields.date.value != '') and (date(p.xfields.date.value) > date()) %}
Дата ещё не наступила, отображение доп. информации: {{ p.xfields.info.value }}
{% endif %}
[/TWIG]

#162 Re: Запросы плагинов » Плагин статистики журналиста » 2013-06-11 19:53:58

legenda, сделать - реально. Но чуть позже, сначала надо с предыдущим плагином разобраться.

#163 Re: Страницы плагинов » feedback :: Менеджер форм обратной связи » 2013-06-11 19:51:52

AI пишет:

А checkboxы как-то можно реализовать?

Checkbox'ы скоро появятся в xfields и оттуда мигрируют в feedback. Скорее всего до релиза.

#164 Re: "А как сделать..." » Добавить элемент удаляющийся в определенное время » 2013-06-11 19:50:43

AI, офигеть, ну и задачка.
Скажи честно - ЗАЧЕМ такой изврат??
И где должен быть этот блок - являться частью новости или частью шаблона news.short/news.full?

Штатно - да, не сделать. Нужно писать плагинчик.

#165 Re: Бесплатные шаблоны » Шаблон Woman 2012 » 2013-06-09 22:27:24

Yuliko, на экране показывается голый JavaScript?
Проверяй шаблон и JS сайта - видимо, где-то что-то подпорчено и браузер воспринимает JavaScript как текст.

#166 Re: Административные вопросы » А давайте попробуем собраться и выпустить релиз? » 2013-06-09 22:26:28

irbees2008 пишет:

1.после обновления MySQL ERROR [query]: lock tables ng_news_view write, ng_news write
(1044): Access denied for user 'user27908_irbees'@'localhost' to database 'user27908_irbees'
то появляется, то нету
2.в профиле не работает  {icqimg}. И редактирование профиля так и не заработало не на денвере и  не на хосте

1. Вопрос к хостеру - у тебя почему-то не оказалось прав на выполнение функии "lock tables".
Либо сам права исправлял, либо хостер что-то подрезал
2. Редактирование проверял - работает. А вот {icqimg} действительно убрал окончательно. При желании сохранить эту функцию - можно воспользоваться TWIG переменными. В любом случае, статус выводится через функционал самой ICQ (даётся ссылка на изображение).

AI пишет:

vitaly, теперь, после http://trac.assembla.com/ngcms/changeset/1160 в админке все хорошо, но в коде страницы категории: & заменяется на & именно в description и keywords

Странно sad
Буду разбираться. Но у меня на локали пока не воспроизводится.

legenda пишет:

vitaly, тестировал % Исправлена ошибка - не работала функция "выводить блок если в нём нет новостей" при настройке
у меня как неработала так и не работает(( или надо обновится до версии выше 1127? я просто пока вижу там есть коегде траблы неохота обновлятся пока

Нет, обновлять сам двиг не требуется.
Но нужно зайти в настройки блоков (в админке плагина) и заново выставить значение этого флага. Ты это сделал?

Knopik пишет:

http://trac.assembla.com/ngcms/changeset/1159
% Из .htaccess и инсталлятора убран allow_call_time_pass_reference

В шаблоне инсталлера остались следы allow_call_time_pass_reference

Спасибо, исправил.

#167 Re: Обсуждение шаблонной системы » Как сделать блоки используя Twig ? » 2013-06-08 14:46:30

AI, уточни в каком именно шаблоне ты хочешь это сделать и какую задачу при этом решаешь.

#168 Re: Запросы на доработку ядра » SMTP авторизованная отправка » 2013-06-08 00:29:11

RaSSveT, для отправки почты используется библиотека phpmailer (лежит в engine/includes/classes/phpmainer/).
Она, вроде, поддерживает работу с SSL.

При желании можешь пропатчить функцию отправки email сообщения sendEmailMessage(), которая находится в engine/includes/inc/functions.inc.php и реализовать необходимый функционал.

#169 Re: Административные вопросы » А давайте попробуем собраться и выпустить релиз? » 2013-06-05 00:59:24

AI пишет:

В админке - добавление категории, при заполнении поля - Описание, в котором содержится символ - & (амперсанд), преобразует его в & т.е. все нормально, но если взять и отредактировать эту категорию (можно тупо зайти и пересохранить), то - & дублируется, столько раз, сколько будет пересохраняться категория.

Спасибо, исправил.

#170 Re: Административные вопросы » А давайте попробуем собраться и выпустить релиз? » 2013-06-03 23:54:19

legenda, эта ошибка от плагина tags, он пытается запустить механизм "автоподбона тегов по списку", но почему-то запрос не отрабатывает.
У тебя там какая версия двига?

[0.25][2013-01-18][Необходима версия SVN1123+]
+ Для шаблонов новостей (news.short.tpl, news.full.tpl) добавлены TWIG переменные с тегами
+ При добавлении/редактировании новостей добавлен suggest блок - автоподбор тегов по списку уже существующих тегов

#171 Re: "А как сделать..." » news.categories.tpl новость в дочерней категории подсветка категории » 2013-06-03 10:50:10

AI пишет:

А как добавить что-то, только к категориям второго уровня у которох есть дочерние, т.е.:

Извини за нескромный вопрос, а документацию читать не позволяет религия? smile

Обрати внимание на переменные entry.level и entry.flags.hasChildren.
Вот так должно работать:

{% if (entry.level == 1) and entry.flags.hasChildren %}Второй уровень с детьми{% endif %}

=======

AI пишет:

vitaly, вопрос не по этой теме, но из той же оперы )) так понимаю, что и возможность в краткой и полной новости вывести ее родную категорию не главную, тоже не представляется возможным, да?

А вот этого в документации нет.
Но возможность в SVN версии есть.
Добавь в news.full.tpl:

[TWIG] {{ debugValue(news.categories) }}[/TWIG]

и всё станет ясно.

Вкратце:
news.categories.count - кол-во категорий в которой находится новость
news.categories.list - список категорий со всей значимой информацией по категории

#172 Re: Административные вопросы » А давайте попробуем собраться и выпустить релиз? » 2013-06-02 22:59:11

legenda пишет:

2. насколько я понял, у нас теперь все скрипты выведены в папку /lib/ зачем тогда продолжать в шаблонах поддержку

<script type="text/javascript" src="{admin_url}/includes/js/functions.js"></script> 
<script type="text/javascript" src="{admin_url}/includes/js/ajax.js"></script> 
<script type="text/javascript" src="{admin_url}/includes/js/jquery-1.6.3.min.js"></script>

?

Ты прав.
В SVN1157 добавил переменную {scriptLibrary}, которая указывает на каталог /lib и обновил под неё базовый шаблон.

Mark пишет:

Есть предложение (куда постить? сюда или в багтреккер?), добавьте больше обработчиков (exec_acts), никогда не знаешь где и когда они пригодятся, а делать хаки не хочется.

На багтрекер - только явные ошибки, все обсуждения - на форум.
По поводу mysql'я я уже отписал, по всем остальным местам - старался в значимые места делать перехват через регистрацию класса-перехватчика, специально созданного для заданной функции.
Такие классы есть на редактировании/просмотре новостей, комментариев, управлении категориями и т.д. и т.п.
Если чего-то конкретного не хватает - пиши, будем думать.

#173 Re: Административные вопросы » А давайте попробуем собраться и выпустить релиз? » 2013-06-02 22:54:33

legenda, плагин ublog даёт возможность на отдельной страничке посмотреть новости конкретного пользователя и всё.
Фактически это обычный поиск по автору, но со своим собственным шаблоном.

#174 Re: Запросы плагинов » DB Cache :: кэширование запросов к базе данных » 2013-06-02 22:53:07

Mark,
1. Значит надо отдельно хранить имена таблиц по которым будет сбрасываться кеш при обновлении таблицы.
Или даже определять откуда пришел вызов и решать - нужно ли обновлять кеш. К примеру, обновление таблицы ng_news из админки - явный повод для сброса кеша.
А тоже самое обновление с сайта - очень похоже на обновление счетчика и тут спокойненько всё можно кешировать

2. Да, с такой точки зрения мысль интересная. Но у меня есть подозрение, что тут ещё будет играть скорость работы mysql и memcached. Если memcached работает на другом сервере с пингами в 10ms, а mysql локально - то явно mysql будет быстрее. Ну и наоборот.

3. Планируется переписать сам класс, т.к. самая полезная фишка mysqli - передача параметров в SQL запрос.
Будет писаться новый класс, который сохранит старые функции (для совместимости) и добавит новые (с использованием шаблонов).
И паралельно будут переписываться SQL запросы на более правильный режим работы.

Сложновато без документации на ощупь делать плагины. Может есть уже какой-то способ в плагине узнать права пользователя?

Документацией по мере возможности занимаюсь, но она действительно сильно отстаёт.
Да, возможность есть.

// Check if user $user have access to identity $identity with mode $mode
// $identity - array with element characteristics
// 	* plugin	- id of plugin
//	* item		- id of item in plugin
//  * ds		- id of Date Source (if applicable)
//	* ds_id		- id of item from DS (if applicable)
// $user - user record or null if access is checked for current user
// $mode - access mode:
//		'view'
//		'details'
//		'modify'/
//		.. here can be any other modes, but view/details/modify are most commonly used
// $way	 - way for content access
//			'rpc' - via rpc
//			'' - default access via site
function checkPermission($identity, $user = null, $mode = '', $way = '') {}

Пример использования в админке:

if (!checkPermission(array('plugin' => '#admin', 'item' => 'system'), null, 'admpanel.view')) {
	ngSYSLOG(array('plugin' => '#admin', 'item' => 'system'), array('action' => 'admpanel.view'), null, array(0, 'SECURITY.PERM'));
	@header("Location: ".home);
	exit;
}

Пример использования в плагине:

	$permPlugin = checkPermission(array('plugin' => 'nsm', 'item' => ''), null, array(
		'view',
		'view.draft',
		'view.unpublished',
		'view.published',
		'modify.draft',
		'modify.unpublished',
		'modify.published',
		'delete.draft',
		'delete.unpublished',
		'delete.draft',
		'list',
		'add',
	));
...
	if (!is_array($userROW) || !$permPlugin['view']) {
		msg(array("type" => "error", "text" => $lang['perm.denied']));
		return;
	}

Т.е. можно запрашивать по одному плагину (админка это тоже "плагин", только с идентификатором "#admin") на выбор - права на одно действие и на группу действий.

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

Работает на FluxBB