Вы не зашли.
Выпускаем 0.9.5 RC2.
Из основных изменений, относительно прошлого RC:
- Исправлены выявленные ошибки работы с mysql 5.7.
Напоминаю, что для всех, кто желает помочь, есть проекты на github'e:
https://github.com/vponomarev/ngcms-core - ядро
https://github.com/vponomarev/ngcms-plugins - плагины
Используем pull request'ы, принимаем практически все изменения.
По mysql ошибкам - исправлено, будет выложено в следующем RC. Естественно, что все плагины не тестировались с only_full_group_by, поэтому возможно ещё где-то запросы есть с group by.
По полю для заметок - не воспроизводится ошибка.
infinity237, извините за оффтоп, а что будет после?
Пока что без комментариев. Есть предложения?
А из кардинальных изменений, кроме исправлений, между релизами 094 и 095 большая разница?
Только исправления. Если нужны подробности по коду, то все есть в истории коммитов в git'e:
https://github.com/vponomarev/ngcms-core/commits/master
https://github.com/vponomarev/ngcms-plu … its/master
Загрузил, с исправлениями на github.
Это понятно. Конечно, плагин нужно переписать вручную заново, и тема антиспама - всегда актуальна и очень важна. Если открытые комментарии, и сайт попал в какую-то базу - каждый день сюрпризов жди, очень много спама, на разных языках даже.
Текущий вариант плагина, не просто не изящен, вообще удивительно - как он вообще заработал в таком виде
Просто удивился, что никто ничего не писал про это. Не работает - и забросили.Сильно не вникал в API Akismet но, видимо, функции submitSpam() и submitHam(), нужны для обмена с сервером Akismet, для обновления логики фильтрации спама, и статистики. Т.е. в админке сайта, должен быть функционал модерации комментариев. Иначе, я просто паразитирую, используя опыт других участников этой системы, и не отправляя своих данных о спаме и не спаме, и рискуя потерять некоторых посетителей, которые не смогли отправить комментарий, или наоборот - запостили в комментарии к новости какой-то шлак. Во втором случае - помогает плагин Filter.
Но это так, просто рассуждения
Это все конечно же так, но там нужно переписывать сильно NG, чтобы начать использовать этот функционал - передавать кучу инфы в метод (например, user_agent) + сохранять все комментарии (включая те, которые сервиса пометил как спам), чтобы потом их отмечать, слишком трудозатратно.
Ты смотри какой дурачек неглупый
Да, все так. Нужно запрос исправить иначе после каждого обновления mysql будет эта лажа проявляться.
Выпустил исправление - обновись, должно заработать без изменения конфигов.
Выпускаем 0.9.5 RC1.
Из основных изменений, относительно прошлого релиза:
- Исправлены выявленные ошибки.
- Произведен реформат кода.
Если все пойдет как ожидается релиз текущей версии (намечен на 28.02.2017) станет последним в данной ветке NGCMS.
Напоминаю, что для всех, кто желает помочь есть проекты на github'e:
https://github.com/vponomarev/ngcms-core - ядро
https://github.com/vponomarev/ngcms-plugins - плагины
Используем pull request'ы, принимаем практически все изменения.
Код как бы открыт, никто не мешает переделать загрузчик под себя.
Стандартное решение отключить only_full_group_by через SET:
http://stackoverflow.com/a/35729681
Либо прямо в конфиге:
http://stackoverflow.com/a/38002876
Пути для папок какие прописаны?
https://yadi.sk/i/vtHLBQCG3CwmVe
По коду ошибка возникает по причине неправильных путей и/или неправильных chmod'ов.
Проверять все ваши решения нет возможности. По всей видимости ошибка где-то в сериализации данных для поля xfields и/или в экранировании.
Если вы пишите код внутри плагина, то:
1) запросы к БД делаются через объект класса mysql/_mysqli, который находится в глобальной переменной $mysql, в данном случае для insert'a/update'a есть метод query. Префикс таблиц задается константой prefix, экранирование данных в поле идет через функцию db_squote.
2) для сериализации доп.полей xfields используется функция xf_encode, которая принимает на вход массив, ключи - названия полей, значения - значения полей.
Пример:
$mysql->query("update " . prefix . "_news set xfields = " . db_squote(xf_encode($xdata)) . " where id = " . db_squote($newsID));
На uploads/ (и все папки внутри) нужно выставлять chmod 0777
Я не понял, что вы хотите. Там стандартный массив. Возможно, что-то типа этого:
{% set result_var = '' %}
{% for row in request.catid %}
{% if row == '2' %}
{% set result_var = 'Это иван' %}
{% else %}
{% set result_var = 'это не иван' %}
{% endif %}
{% endfor %}
{{ debugValue(result_var) }}
В core.php, блок // - Global variables [by REFERENCE], добавить:
$twig->addGlobalRef('request', $_REQUEST);
Использовать {{ debugValue(request) }}
Здравствуйте! Подскажите пожалуйста, как создать переменную свою в любом модуле и подключить к ней тег в шаблон? Пишу так, но не срабатывает:
$echo = "произвольный текст";
$tVars['txt'] = $echo;
$template['vars']['mainblock'] .= $xt->render($tVars);в шаблоне {txt} , но не выводит, честно говоря не пойму синтаксиса , в dle я это проще делал, тут что-то не выходит( помогите пожалуйста, заранее спасибо!
Во вложении минимальный плагин, который создает переменную {{ echo_test_var1 }} в main.tpl.
В настройках включить "Безопасность" -> "Отладочная информация" -> "Отображать список SQL запросов на сайте".
На странице с запросом посмотреть какой SQL запрос генерируется.
infinity237 пишет:dreamms пишет:Спасибо! Не подскажите как с категориями сделать? чтобы не прописывать постоянно catid=1, catid=2 , а чтобы был поиск так catid=1.2,3. Заранее спасибо!
Обычно это делается через форму с post запросом.
Это я знаю, у меня так и получается, но сам модуль не сортирует так, он сортирует только по 1 категории, вот в чем и вопрос, как в том коде выше что я скинул сделать чтобы он понимал фильтрацию новостей одновременно по нескольким категориям...
Допустим, если есть select:
<select name="mycats[]" multiple="multiple"> ... </select>
И если используется одна категория для одной новости, то обработчик примерно такой:
$values = $_POST['mycats'];
$ids = array();
foreach ($values as $a){
$ids[] = $a;
}
array_push($filter, array('DATA', 'catid', 'IN', $ids));
Если новость может находиться в нескольких категориях, то примерно так:
$categoryList = $_POST['mycats'];
if ((is_array($categoryList) && count($categoryList))) {
foreach ($categoryList as $cat) {
array_push($filter, "catid ".($cat?("regexp '[[:<:]](".intval($cat).")[[:>:]]'"):(' = ""')));
}
}
array_unshift($filter, 'OR');
infinity237 пишет:/category?votes_from=1&votes_to=5
array('DATA', 'votes', 'BETWEEN', array((int)$_REQUEST['votes_from'], (int)$_REQUEST['votes_to']))
Спасибо! Не подскажите как с категориями сделать? чтобы не прописывать постоянно catid=1, catid=2 , а чтобы был поиск так catid=1.2,3. Заранее спасибо!
Обычно это делается через форму с post запросом.
/category?votes_from=1&votes_to=5
array('DATA', 'votes', 'BETWEEN', array((int)$_REQUEST['votes_from'], (int)$_REQUEST['votes_to']))
1) Версия плагина / версия NG ?
2) Скриншоты настроек полей ?
3) На какой странице ошибки?
Где можно почитать документацию по плагину ads_pro? блок я создал, а какой переменной можно вывести мой созданный блок в нужном мне месте в шаблоне?
Стандартно в теме плагина - http://ngcms.ru/forum/viewtopic.php?id=914
Содержимое блока без открывающих/закрывающих тегов php (<? и ?>)
1. В общем виде решения нет. Есть плагин ublog, но это не совсем то.
3. В шаблоне /uprofile/users.tpl можно использовать условия {% if (user.status == 'Администратор') %}...{% else %}...{% endif %} для создания условий - таким образом можно сделать уникальные участки, в зависимости от группы.
4. Есть несколько вариантов сделать:
1) Путем непосредственного включения своего кода в ядро.
2) Используя блоки, через плагин ads_pro.
3) Написание плагина под нужный функционал.
3 вариант является приоритетным, т.к. он позволяет поддерживать хотя бы какую-то модульность.
infinity237 пишет:AndrewVashkiw пишет:{{ entry.cat }} тоже в данном шаблоне не работает...подскажите пожалуйста как вывести в select категории и подкатегориииз бд в шаблоне search.form? заранее спасибо!
{% for entry in getCategoryTree(2) %}
{% if (entry.level == 1) %}
<option value="4">- {{ entry.cat }}
</option>{% endif %}
{% endfor %}В данном случае проще всего отказаться от использования шаблона search.form.tpl (это шаблон на старом шаблонизаторе, поэтому twig переменные в нем не работают), а расположить форму прямо в main.tpl, категории вывести через twig функцию getCategoryTree.
Так и сделаю, другого выхода не вижу( Можно ваши контакты(скайп, почта)? нужно обсудить пару вопросов решить, за оплату
sergey@rostunov.com
{{ entry.cat }} тоже в данном шаблоне не работает...подскажите пожалуйста как вывести в select категории и подкатегориииз бд в шаблоне search.form? заранее спасибо!
{% for entry in getCategoryTree(2) %}
{% if (entry.level == 1) %}
<option value="4">- {{ entry.cat }}
</option>{% endif %}
{% endfor %}
В данном случае проще всего отказаться от использования шаблона search.form.tpl (это шаблон на старом шаблонизаторе, поэтому twig переменные в нем не работают), а расположить форму прямо в main.tpl, категории вывести через twig функцию getCategoryTree.
Форма может иметь 3 поля (search, category, postdate), action на /search/ (или в зависимости от настроек ЧПУ).
В общем виде, что-то вроде:
<form method="post" action="/search/">
<select name="category">
<option value="0">Нет категории</option>
{% for entry in getCategoryTree() %}
<option value="{{entry.id}}">- {{ entry.cat }}</option>
{% endfor %}
</select>
<input type="text" name="search" placeholder="Введите запрос..." class="search-text">
<input type="submit" value="" class="search-button">
</form>
Итак, результат неутешительный.
Допустим, что проблема всё-таки из-за версии РНР. А почему бы тогда не исправить требования к хостингу в документации. Да и на денвере с версией 5.3.13 этой проблемы нет.
При попытке выяснить причину обнаружилась ошибка в оригинальном файле rewrite.tpl. При её исправлении возникает другая. Решения пока так и нет.Решил проверить все файлы из папки tpl. Какая-то ошибка оказалась и в файле configuration.tpl в строке 23.
} catch (err) { ngNotifyWindow('{{ lang['rpc_jsonError'] }} '+data, '{{ lang['notifyWindowError'] }}'); }
1) Если ты, допустим, используешь версию 0.9.4 Release, то там документация исправлена, лежит в /readme/help/.
2) По теме - информации мало для решения. Никто не будет ставить 5.3 и тестировать на ней. Нет данных об ошибке JS (в консоли ошибок если такая есть).
irbees2008 пишет:на какой версии php пробуешь ? нужна не меньше 5.4
У меня 5.3.28
Но ведь в документации написано PHP 4.3.x/5.x
Да и на денвере, насколько я знаю, ниже версия. Но ведь на нём работает.
Для нормальной работы нужен >= 5.4
Если на денвере работает, то при чем здесь код? Очевидно дело в настройках php (возможно Magic Quotes или её что).