Василий Наумкин
С нами с 08 декабря 2012; Место в рейтинге пользователей: #1Вчера в 11:14
на здоровье
Minishop2 не отправляет письма о заказах (smtp QuickEmail при этом работает) 4
Вчера в 00:28
Я уже доделываю mspWebPay) в течение нескольких часов выкачу «обновление», защиту уже убрал.
[mspBePaid] Обновление компонента до версии 2.5.4-pl 2
22 января 2025, 14:59
Создать отдельную группу ресурсов под нужный ресурс и дать доступ пользователю только к этой группе ресурсов.
Как сделать доступ в админке MODX REVO для менеджера для определенного ресурса. 1
22 января 2025, 13:44
Ещё, как вариант в первую очередь, связаться с автором того или иного компонента с просьбой обновить. Да и может быть так, что на github у автора уже ...
Старые пакеты расширений для modx 3? 2
22 января 2025, 13:38
Готового плагина или компонента нет, придётся писать самому.
Опишу теорию:
1. У пользователей используешь какое ни будь поле или делаешь новое, чи...
Расширение или плагин покупки количества разрешенных комментариев или постов 1
22 января 2025, 02:07
Да, реально.$title = preg_replace('![^'.preg_quote($separator).'\.\pL\pN\s]+!u', '', $this->lower($title));
Работает как решение
[Translitor] - Альтернатива транслитерации псевдонимов 25
$modx->resource->save() не помогает, конечно. А если значение нужно только на время работы скрипта, и сохранять его не надо — то и ТВ ни к чему, можно любое имя написать.
Это поле будет работать только во время выполнения скрипта. То есть, методом set мы выставляем любое поле с любым значением, потом можем его использовать как хотим, а после работы оно пропадает — ибо сохранить его некуда, в модели то его нет.
Если же ничего туда не писать, а просто print_r($modx->resource->get('test')); — то будут данные ТВ параметра.
Всё это очень интересно, но мне надо работать, так что не буду копать «почему всё именно так, а не иначе». Вообще, стараюсь не использовать ТВ, если это возможно.
Если по очереди комментировать вызовы setTVValue — хорошо видно.
А ваш хак отлично работает, хоть и выглядит это некрасиво.
Работает без проблем, но только при одном условии — если вызывается не на странице, ТВ которой он должен обновить.
А вот так — выдаёт прикольный глюк, очевидно связанный с кэшированием.
Поэтому, переходим на обычный xPDO
Почему выходит такая фигня — мне не ведомо, а копать исходники времени нет.
У меня нет желания ставить и проверять.
В miniShop вы можете добавлять товары с параметрами, то есть, id будет один и тот же, а свойства разные. В корзине это должно быть разными элементами, поэтому id в качестве ключа массива использовать нельзя.
При выводе корзины скрипт выводит все элементы корзины с ключиком, чтобы можно было удалить или изменить их количество, а на странице товара просто не ясно какой ключ выставлять — ведь в корзине он может быть несколько раз и с разным цветом (или еще чем).
Вам этот функционал, пока, не нужен, но решение универсальное, поэтому придется терпеть.
Его выставляет сниппет miniShop при генерации корзины, и работают они только в корзине. Зачем удалять товар из корзины на странице товара — это не логично ведь?
Если есть огромное желание сделать именно так — пишите сниппет и запускайте на странице товара. Он должен перебрать $_SESSION['minishop']['goods'], найти там товар и выставить плейсхолдер с ключом этой позиции.
Должно быть не [[*id]], а [[+key]]. Ибо товары удаляются не по номеру, а по ключу, который генерируется из номера страницы-товара и дополнительных свойств. Добавляются по номеру, да.
Вот цитата из оригинального чанка товара в корзине
Простыни кода я потёр.
Скажу по секрету, мне еще и приходит по 20$ за каждого реферала, если он проработал 3 месяца. То есть, за довольного реферала, а не за всех подряд.
Значит, нужно смотреть в лог ошибок /var/log/nginx/имясайта-error.log. Подозреваю, что у вас там что-то работает неправильно.
Официальная документация — rtfm.modx.com/display/revolution20/Custom+Manager+Pages
Но самый действенный способ, конечно, прокачивать знания разбираясь в том, как устроены чужие разработки. Иначе вы научитесь только тому, что вам рассказали в уроках.
Про логин и пароль — а где ж их взять то?
Username не все сервисы передают, а если и передают, вы сами можете не знать, какой он там. Пароль просто не нужен — ибо авторизация идет через другой сервис. Email тоже когда как, идентификатор у каждого сервиса свой.
Такой вариант возможен только если регистрировать юзера классическим способом, а потом давать ему привязать учётки для быстрого входа. А мне такая регистрация не нужна.