Andrey

Andrey

С нами с 08 августа 2016; Место в рейтинге пользователей: #215

Новости Tickets

Доброе.

Для компонента тикетов август выдался жарким месяцем.

Эстафету начал @iWatchYouFromAfar, заказав управление подписками в админке.
Затем подключился @Wassi Wassinen, задонатив на Tickets 1.11.0, которая получила новую возможность — подписываться на юзеров
На прикрепление аттачей в комментариях задонатили уже UPD минимальную сумму в 3000 р., все последующие взносы дадут приятные бонусы и плюшки :) Присоединяйтесь к кнопочке «Отправить деньги», чтобы ускорить появление этой возможности и приятных плюшек у аттачей стало больше.

А сегодня выпущено обновление 1.11.1 без принципиально новых возможностей, но с некоторыми полезными правками:

tolanych
23 августа 2019, 13:56
modx.pro
2
1 566
+19

Обновление дубликатов страниц (duplicate_updater_modx)

Может кому пригодится, написал скриптец для поиска дублей страниц и обновления последних путем добавление префикса +=1

Инструкция залить 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;
vectorserver
25 июня 2019, 12:33
modx.pro
11
1 486
+7

SocialNetworks

Компонент для вывода социальных сетей и других сервисов.

Админка



Aleksandr Huz
07 мая 2019, 15:28
modx.pro
11
2 301
+21

Запрос через XPDO к тв параметрам с использование having

Запрос на XPDO для выборки ресурсов у которых совпадают значения тв параметров.

Функция having посчитает количество совпадений по групперуемому полю contentid
Андрей Степаненко
26 апреля 2019, 14:36
modx.pro
11
1 425
+10

Удобная фильтрация в mSearch2 на мобильной версии (внешний вид)

Доброго всем!
дам очень нужную инструкцию для изменения внешнего вида фильтров на мобильной версии (в десктопной ничего не измениться) в mSearch2 совместно с minishop2

На выходе нас ожидает меню куда спрячутся все фильтра, а сбоку, поверх всего будет закреплена кнопка управляющая этим меню (открыть, закрыть). Работает как в bootstrap 3 так и в bootstrap 4. Внешний вид фильтров настраиваете на свой вкус и цвет.

Впринцыпе данный пример можно использовать где угодно, возможно спрячете меню блога, ну там уже на свое усмотрение. Работает через jquery
Сергей
19 апреля 2019, 18:55
modx.pro
28
2 493
+5

Упоминание пользователей

Привет друзья!

Рад анонсировать новую функцию в нашем сообществе, которая давно стала привычной на всех крупных сервисах — это возможность упомянуть пользователя, чтобы ему пришло уведомление, а само упоминание стало ссылкой на его профиль.

Работает как обычно, просто начните набирать @ и вам вылезет автоподсказка. Продолжайте набирать имя, и найдёте нужного пользователя.

Примерно так:
Василий Наумкин
12 марта 2019, 16:26
modx.pro
2
2 146
+19

Вывести три ближайших мероприятия от текущей даты!

Приветствую сообщество!

В общем задача вроде бы не очень сложная.

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! Решение найдено!
Andrey
25 февраля 2019, 15:48
modx.pro
2
1 177
0

[HelpfulPage] Виджет "Эта страница полезна?" с кнопками да, нет и подсчетом коэффициента полезности

Демо | Еще Пример



Классический виджет обратной связи helpfulPage выводит блок, содержащий вопрос — «Эта страница полезна?»
Николай Савин
28 января 2019, 20:29
modx.pro
11
1 634
+13

Простой(или нет) способ обновить кеш страницы у клиента.

Столкнулся с такой ситуацией: клиент захотел сделать рескин сайта, я всё переверстал, но штука в том, что все картинки закешированы в браузерах у тех, кто уже был на сайте, и если с файлами стилей или яваскриптом я могу сделать style.css?ver=2 с сылкой на стильник, то все картинки во всех шаблонах и чанках так не обновишь.
Погуглив немного я понял, что можно либо шаманить с возвращаемыми хедерами, либо для всех изображений менять урл. Первый вариант не очень, потому что тогда картинки будут вообще всегда заново грузиться, а нам надо только при их реальном изменении. Возможно есть какой-то трюк с 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);   
}
Антон
06 января 2019, 03:10
modx.pro
11
2 332
+11

Новый формат фискальных документов (ФФД 1.05)

1 января 2019 года вступает в силу дополнение к закону 54-ФЗ — вводится новый формат фискальных документов (ФФД 1.05).

Если у вас настроено взаимодействие с онлайн-кассой в налоговую нужно отправлять два новых параметра:
  • предмет расчёта — это категория товаров и услуг, которые вы продаёте (например, товар, услуга или ставка в игре, признак предмета расчёта из приказа ФНС).
  • способ расчёта — это категория способа, которым вы принимаете оплату (например, оплата в кредит, предоплата или полный расчёт, признак способа расчёта из приказа ФНС).
В связи с данным событием текущие пакеты оплаты требуют внесения данных изменений.
На текущий момент меня интересуют пакеты оплаты — mspYaCassa и mspTinkoff .

Желающие помочь в данном вопросе просьба отписаться в личных сообщениях или напрямую в скайп — vgrish_vgrish.

Мне потребуется доступ к админке сайта и фтп, на выходе вы получите обновленный пакет с новым функционалом.

PS. Нужны добровольцы на тестирование mspYaCassa по прот. АПИ
Володя
25 декабря 2018, 12:15
modx.pro
1
1 405
+11