Andrey
С нами с 08 августа 2016; Место в рейтинге пользователей: #215Новости Tickets
Доброе.
Для компонента тикетов август выдался жарким месяцем.
Эстафету начал @iWatchYouFromAfar, заказав управление подписками в админке.
Затем подключился @Wassi Wassinen, задонатив на Tickets 1.11.0, которая получила новую возможность — подписываться на юзеров
На прикрепление аттачей в комментариях задонатили уже UPD минимальную сумму в 3000 р., все последующие взносы дадут приятные бонусы и плюшки :) Присоединяйтесь к кнопочке «Отправить деньги», чтобы ускорить появление этой возможности и приятных плюшек у аттачей стало больше.
А сегодня выпущено обновление 1.11.1 без принципиально новых возможностей, но с некоторыми полезными правками:
Для компонента тикетов август выдался жарким месяцем.
Эстафету начал @iWatchYouFromAfar, заказав управление подписками в админке.
Затем подключился @Wassi Wassinen, задонатив на Tickets 1.11.0, которая получила новую возможность — подписываться на юзеров
На прикрепление аттачей в комментариях задонатили уже UPD минимальную сумму в 3000 р., все последующие взносы дадут приятные бонусы и плюшки :) Присоединяйтесь к кнопочке «Отправить деньги», чтобы ускорить появление этой возможности и приятных плюшек у аттачей стало больше.
А сегодня выпущено обновление 1.11.1 без принципиально новых возможностей, но с некоторыми полезными правками:
Обновление дубликатов страниц (duplicate_updater_modx)
Может кому пригодится, написал скриптец для поиска дублей страниц и обновления последних путем добавление префикса +=1
Инструкция залить duplicate_updater_modx.php в корень сайта и запустить в браузере yousute.ru/duplicate_updater_modx.php
git: github.com/vectorserver/duplicate_updater_modx
Сам код:
Инструкция залить duplicate_updater_modx.php в корень сайта и запустить в браузере yousute.ru/duplicate_updater_modx.php
git: github.com/vectorserver/duplicate_updater_modx
Сам код:
<?php
/**
* Created by PhpStorm.
* User: admin
* Date: 25.06.2019
* Time: 14:19
*/
define('MODX_API_MODE', true);
require 'index.php';
$modx->getService('error', 'error.modError');
$modx->setLogLevel(modX::LOG_LEVEL_FATAL);
$modx->setLogTarget(XPDO_CLI_MODE ? 'ECHO' : 'HTML');
$msg = "";
$table_prefix = $modx->config['table_prefix'];
//Ищем двойников
$find_query = $modx->query("SELECT group_concat(`id`) ids, count(id) c FROM `" . $table_prefix . "site_content` GROUP by concat(uri) HAVING c > 1");
$dubles = $find_query->fetchAll(PDO::FETCH_ASSOC);
//Если нашли
if (count($dubles)) {
foreach ($dubles as $item) {
//Разбивем ID
$ids = explode(",", $item['ids']);
//Сортируем - старые вверх
sort($ids, SORT_NUMERIC);
$count = 0;
foreach ($ids as $doc_id) {
$count++;
//ПРопускаем оригинал
if ($count > 1) {
//Обновляем ресурс
$originalRes = $modx->getObject('modResource', $doc_id);
$generated = $originalRes->cleanAlias($originalRes->get('pagetitle')) . "-" . $count;
$originalRes->set('alias', $generated);
$originalRes->save();
//В лог
$msg .= $originalRes->get('id') . " | " . $originalRes->get('pagetitle') . " - обновлен.\n";
}
}
//Сброрс кеша
$modx->cacheManager->refresh();
}
} else {
$msg .= "Дублей нет\n";
}
echo "<pre>" . $msg;
Запрос через XPDO к тв параметрам с использование having
Запрос на XPDO для выборки ресурсов у которых совпадают значения тв параметров.
Функция having посчитает количество совпадений по групперуемому полю contentid
Функция having посчитает количество совпадений по групперуемому полю contentid
Удобная фильтрация в mSearch2 на мобильной версии (внешний вид)
Доброго всем!
дам очень нужную инструкцию для изменения внешнего вида фильтров на мобильной версии (в десктопной ничего не измениться) в mSearch2 совместно с minishop2
На выходе нас ожидает меню куда спрячутся все фильтра, а сбоку, поверх всего будет закреплена кнопка управляющая этим меню (открыть, закрыть). Работает как в bootstrap 3 так и в bootstrap 4. Внешний вид фильтров настраиваете на свой вкус и цвет.
Впринцыпе данный пример можно использовать где угодно, возможно спрячете меню блога, ну там уже на свое усмотрение. Работает через jquery
дам очень нужную инструкцию для изменения внешнего вида фильтров на мобильной версии (в десктопной ничего не измениться) в mSearch2 совместно с minishop2
На выходе нас ожидает меню куда спрячутся все фильтра, а сбоку, поверх всего будет закреплена кнопка управляющая этим меню (открыть, закрыть). Работает как в bootstrap 3 так и в bootstrap 4. Внешний вид фильтров настраиваете на свой вкус и цвет.
Впринцыпе данный пример можно использовать где угодно, возможно спрячете меню блога, ну там уже на свое усмотрение. Работает через jquery
Упоминание пользователей
Привет друзья!
Рад анонсировать новую функцию в нашем сообществе, которая давно стала привычной на всех крупных сервисах — это возможность упомянуть пользователя, чтобы ему пришло уведомление, а само упоминание стало ссылкой на его профиль.
Работает как обычно, просто начните набирать @ и вам вылезет автоподсказка. Продолжайте набирать имя, и найдёте нужного пользователя.
Примерно так:
Рад анонсировать новую функцию в нашем сообществе, которая давно стала привычной на всех крупных сервисах — это возможность упомянуть пользователя, чтобы ему пришло уведомление, а само упоминание стало ссылкой на его профиль.
Работает как обычно, просто начните набирать @ и вам вылезет автоподсказка. Продолжайте набирать имя, и найдёте нужного пользователя.
Примерно так:
Вывести три ближайших мероприятия от текущей даты!
Приветствую сообщество!
В общем задача вроде бы не очень сложная.
1. Есть TV поле «Дата»
2. Необходимо:
2.1 Вывод ближайших мероприятий от текущей даты
2.2 Выводить надо только ближайшие три
В общем задача на самом деле стумпорится на моменте построения запроса, через pdoTools. Я не могу задать условие, чтобы выводились только мероприятия позже текущей даты, т.к. конструкция такая:
Опубликованная статья 2019-01-06 18:00:00 > Текущая дата 2019-02-06 14:00:00 > Опубликованная статья 2019-03-06 18:00:00
Вот собственно надо вывести ту, что выделена жирным и только её!
Заранее спасибо за помощь, надеюсь я расписал более менее понятно!
UPD! Решение найдено!
В общем задача вроде бы не очень сложная.
1. Есть TV поле «Дата»
2. Необходимо:
2.1 Вывод ближайших мероприятий от текущей даты
2.2 Выводить надо только ближайшие три
В общем задача на самом деле стумпорится на моменте построения запроса, через pdoTools. Я не могу задать условие, чтобы выводились только мероприятия позже текущей даты, т.к. конструкция такая:
Опубликованная статья 2019-01-06 18:00:00 > Текущая дата 2019-02-06 14:00:00 > Опубликованная статья 2019-03-06 18:00:00
Вот собственно надо вывести ту, что выделена жирным и только её!
Заранее спасибо за помощь, надеюсь я расписал более менее понятно!
UPD! Решение найдено!
[HelpfulPage] Виджет "Эта страница полезна?" с кнопками да, нет и подсчетом коэффициента полезности
Демо | Еще Пример
Классический виджет обратной связи helpfulPage выводит блок, содержащий вопрос — «Эта страница полезна?»
Классический виджет обратной связи helpfulPage выводит блок, содержащий вопрос — «Эта страница полезна?»
Простой(или нет) способ обновить кеш страницы у клиента.
Столкнулся с такой ситуацией: клиент захотел сделать рескин сайта, я всё переверстал, но штука в том, что все картинки закешированы в браузерах у тех, кто уже был на сайте, и если с файлами стилей или яваскриптом я могу сделать style.css?ver=2 с сылкой на стильник, то все картинки во всех шаблонах и чанках так не обновишь.
Погуглив немного я понял, что можно либо шаманить с возвращаемыми хедерами, либо для всех изображений менять урл. Первый вариант не очень, потому что тогда картинки будут вообще всегда заново грузиться, а нам надо только при их реальном изменении. Возможно есть какой-то трюк с Last-modified, но я до него недогуглился.
Тогда я решил сделать простой плагин на событие OnWebPagePrerender, который бы перехватывал страницу перед отправкой пользователю и просто менял все урлы для картинок:
Погуглив немного я понял, что можно либо шаманить с возвращаемыми хедерами, либо для всех изображений менять урл. Первый вариант не очень, потому что тогда картинки будут вообще всегда заново грузиться, а нам надо только при их реальном изменении. Возможно есть какой-то трюк с Last-modified, но я до него недогуглился.
Тогда я решил сделать простой плагин на событие OnWebPagePrerender, который бы перехватывал страницу перед отправкой пользователю и просто менял все урлы для картинок:
<?php
if ($modx->event->name == 'OnWebPagePrerender') {
$output = &$modx->resource->_output;
$output = str_replace('.png',".png?ver=" . $modx->getOption('assets_version'),$output);
$output = str_replace('.jpg',".jpg?ver=" . $modx->getOption('assets_version'),$output);
}
Новый формат фискальных документов (ФФД 1.05)
1 января 2019 года вступает в силу дополнение к закону 54-ФЗ — вводится новый формат фискальных документов (ФФД 1.05).
Если у вас настроено взаимодействие с онлайн-кассой в налоговую нужно отправлять два новых параметра:
На текущий момент меня интересуют пакеты оплаты — mspYaCassa и mspTinkoff .
Желающие помочь в данном вопросе просьба отписаться в личных сообщениях или напрямую в скайп — vgrish_vgrish.
Мне потребуется доступ к админке сайта и фтп, на выходе вы получите обновленный пакет с новым функционалом.
PS. Нужны добровольцы на тестирование mspYaCassa по прот. АПИ
Если у вас настроено взаимодействие с онлайн-кассой в налоговую нужно отправлять два новых параметра:
- предмет расчёта — это категория товаров и услуг, которые вы продаёте (например, товар, услуга или ставка в игре, признак предмета расчёта из приказа ФНС).
- способ расчёта — это категория способа, которым вы принимаете оплату (например, оплата в кредит, предоплата или полный расчёт, признак способа расчёта из приказа ФНС).
На текущий момент меня интересуют пакеты оплаты — mspYaCassa и mspTinkoff .
Желающие помочь в данном вопросе просьба отписаться в личных сообщениях или напрямую в скайп — vgrish_vgrish.
Мне потребуется доступ к админке сайта и фтп, на выходе вы получите обновленный пакет с новым функционалом.
PS. Нужны добровольцы на тестирование mspYaCassa по прот. АПИ