Алексей

Алексей

С нами с 25 декабря 2012; Место в рейтинге пользователей: #69

Ошибка mysql sql_mode=only_full_group_by

В msProducts при включении includeTVs ошибка.
Прошу помощи, как решить эту проблему?
[[!msProducts?
    &includeTVs=`Любое подключенное TV`
    ...
]]
(ERROR @ .../www/core/components/pdotools/model/pdotools/pdofetch.class.php : 171) [pdoTools] Error 42000: Expression #69 of SELECT list is not in GROUP BY clause and contains nonaggregated column '...TVpriceeur.value' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
Сергей Водолагин
02 мая 2017, 21:00
modx.pro
5
19 483
0

Вставка копирайтов при копировании текста на сайте

Головная боль многих новостных сайтов — копирование оригинального текста и его использование на других сайтах.
В качестве официального решения проблемы — предлагается автоматическое добавление копирайтов при копировании текста в буфер обмена. Копирайт может содержать ссылку на сайт-источник, что дает дополнительное SEO преимущество.
Ниже я предлагаю найденное мною и немного оптимизированное решение этого вопроса.
Николай Савин
18 апреля 2017, 16:43
modx.pro
18
4 658
+7

Регистрация пользователя с суммой на счёте

Простенький скрипт, который пробегает по массиву email => name, регистрирует пользователя в системе и кладёт ему определённую сумму на внутренний счёт miniShop2.

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

Можно использовать для раздачи рекламных аккаунтов в магазинах.
Василий Наумкин
12 апреля 2017, 05:00
modx.pro
14
2 271
+12

OnLoadWebDocument, как узнать, что ресурс из кеша?

Собственно нужно, чтобы код плагина не выполнялся, если ресурс из кеша. Есть какие-либо маркеры этого?
Андрей Коробков
06 апреля 2017, 10:09
modx.pro
1
1 607
0

Удаление старых версий пакетов

Многие пользователи знают, что MODX хранит кучу старых версий дополнений, чтобы вы могли откатиться на них в любое время.

Но, это требуется крайне редко, а место пакеты занимают. Их можно удалять вручную, но это довольно утомительно, поэтому я набросал несложный консольный скрипт для автоматического удаления.

Скрипт нужно положить в корневую директорию и запустить. Он выберет все установленные версии, кроме самой последней, и корректно удалит их через родной процессор.

Судя по коду этого процессора, никак повредить системе он не может, потому что деинсталляцию самого пакета не делает, а только удаляет файлы версии. Но, в любом случае, использовать на свой страх и риск!
Василий Наумкин
24 марта 2017, 06:35
modx.pro
40
4 494
+24

Как стать контрибьютором MODX

(Перевод руководства по отлову багов)


Это руководство написано для участников MODX Bug Hunt. Мероприятие уже завершено, если вы его пропустили, информацию можно найти на официальном сайте modxbughunt.com.

1. Инструменты


  • Интерфейс с командной строкой (Терминал, iTerm и пр.)
  • Git, установленный на вашей системе
  • PHP Storm или другой клиент. Пожалуйста, убедитесь, что вы используете 4 пробела для отступов, а не табы.
  • Любой веб-сервер. Желательно, чтобы на борту был Apache или NGINX. Мы используем Vagrant. Или можно взять на вооружение MAMP или XAMPP.
Илья Уткин
05 марта 2017, 11:15
modx.pro
5
3 413
+20

Номер телефона miniShop2 в профиль пользователя

Добрый вечер!
Нужно при оформлении заказа брать номер телефона из msOrderAddress и записывать его в профиль пользователя.

Написал такой плагин, но номер телефона записывается совсем не тот…

<?php
switch ($modx->event->name) {
    case "msOnCreateOrder":
        $msUserId = $msOrder->get('user_id');
        $msAddress = $modx->getObject('msOrderAddress',$msUserId);
        $msPhone = $msAddress->get('phone');
        
        $user = $modx->getObject('modUser',$msUserId);
        $profile = $user->getOne('Profile');
        $profile->set('phone', $msPhone);
        $profile->save();
        break;
}

На этом этапе в переменную попадает id заказа, а не пользователя:

$msUserId = $msOrder->get('user_id');
Игорь Терентьев
22 января 2017, 14:39
modx.pro
6
3 349
0

Собственные модификаторы Fenom

Продолжаю разработку новой версии modstore.pro и хочу поделиться простым способом подключения своих модификаторов.

Обычный способ все знают: нужно создать сниппет, который будет принимать переменные $input и $options и вызвать его в чанке вот так:
{$variable | snippet}
Но
  • Сниппеты бывают совсем небольшие и создавать их на каждый чих не хочется
  • Вызов сниппета, это всё-таки дополнительная нагрузка
  • Лично я уже полностью перешел на файлы, и создавать запись в БД для сниппета, только ради его связи с файлом мне совсем не хочется
То есть, я хочу просто вызывать некий код в качестве модификатора. И в этом мне поможет событие pdoToolsOnFenomInit, которое появилось в pdoTools 2.6.0 и мало кто это заметил.
Василий Наумкин
14 января 2017, 05:49
modx.pro
29
8 867
+14

Ссылки на сайты-магазины на minishop2

Привет всем. Кому не сложно, подкиньте в комментах ссылок на сайты-магазины на минишопе, а то мне ответить нечем на "что-то я не видел магазинов на modx, все нормальные фирмы делают на Битриксе". Ну и думаю будет многим интересно посмотреть.
Виталий Барышников
12 января 2017, 10:27
modx.pro
8
5 179
+1

[msPromoCode] Кейс. Вывод информации по промо-коду в письме


Часто слышу вопрос о выводе промо-кода и информации по скидке в письме пользователю/менеджеру. На самом деле такая возможность есть уже давно, хоть и не совсем явным образом бросается в глаза. Делается это в 2 простых шага, которые описаны ниже.
Павел Гвоздь
26 декабря 2016, 09:25
modx.pro
10
2 577
+10