Как вызвать getService $this->modx в наследуемом классе?
MODX Revolution 2.8.3-pl
Как вызвать getService $this->modx в наследуемом классе, чтобы воспользоваться функциями из другого компонента?
Например в обработчике корзины:
Как вызвать getService $this->modx в наследуемом классе, чтобы воспользоваться функциями из другого компонента?
Например в обработчике корзины:
<?php
class msCartCustomHandler extends msCartHandler {
}
MyFavorites
MyFavorites – компонент, который позволяет добавить на сайт списки избранного. Основной упор сделан на работу с анонимными пользователями, аналитикой и защитой от ботов.
Основные возможности компонента
Основные возможности компонента
- Создание различных списков избранного.
- Работа как с анонимными пользователями, так и только с зарегистрированными.
- Пользовательские списки избранного (пользователь может сам создавать/переименовывать и удалять свои списки).
- Очистка сессий сайта и удаление кук пользователем не влияют на список избранного у анонимных пользователей.
- Идентификация анонимного пользователя и, как следствие, его списка избранного, посетившего сайт с разных браузеров (метод не срабатывает во всех 100% случаев. На сайте должна быть подключена Google Analytics или Яндекс.Метрика).
- Привязка списка избранного анонимного пользователя к зарегистрированному пользователю при его авторизации или создании заказа на сайте.
- Синхронизация избранного на разных устройствах/браузерах, если ранее не было определено, что они принадлежат одному и тому же пользователю.
- Передача данных о событиях добавления/удаления и очистки списка избранного в Google Analytics и Яндекс.Метрика.
- Черные списки IP.
- Защита от CSRF-атаки.
- Защита с помощью reCAPTCHA 3.
- Лимит на запросы для анонимных и зарегистрированных пользователей.
- Уведомление на Email о подозрительной активности пользователя.
- Доступ в админке сайта к информации о пользователях, их списках избранного и активности.
- Экспорт информации о пользователях и избранном в CSV, XLSX и ODS.
- Корректная работа с Cloudflare.
- Быстрая кастомизация стилей через CSS переменные.
- Возможность подписываться на JS события компонента для кастомизации его работы.
- Нативный JavaScript.
Zoomx получить данные родителя на странице товара
Здравствуйте!
Кто нибудь в этой игре «Zoomx» проходил квест: «Получить данные родителя на странице товара»? в шаблоне product.tpl?
Да, можно попробовать вывести через «pdoCrumbs», или другие… А что-нибудь попроще, как например на fenom?
Вроде:
или
Кто нибудь в этой игре «Zoomx» проходил квест: «Получить данные родителя на странице товара»? в шаблоне product.tpl?
Да, можно попробовать вывести через «pdoCrumbs», или другие… А что-нибудь попроще, как например на fenom?
Вроде:
{7 | resource: 'tv_name'}
или
{set $parent_id = $_modx->resource.parent} //Получаем id родителя
{set $grand_parent_id = $parent_id | resource : 'parent' } //Получаем id дедушки
{$grand_parent_id | resource : 'pagetitle'} //выводим заголовок
Modhost и облачное хранилище S3 (timeweb cloud)
Всем доброго времени суток.
Как многие, наверное, видели — в админке для источника файлов можно указать «Тип источника файлов» -> Amazon S3 (Использует хранилище Amazon S3.). Не знаю, работает ли сервера амазона в РФ, и как их оплачивать заметка не об этом.
Смысл в том, что используя технологию «Amazon S3» (облачное объектное хранилище) можно хранить, например, в том числе, медиа файлы (картинки, изображения) не на modhost, а на стороннем сервисе (ничоси). Для сайтов, которые используют большое количество изображений в высоком разрешении это отличное решение. НО!
Как многие, наверное, видели — в админке для источника файлов можно указать «Тип источника файлов» -> Amazon S3 (Использует хранилище Amazon S3.). Не знаю, работает ли сервера амазона в РФ, и как их оплачивать заметка не об этом.
Смысл в том, что используя технологию «Amazon S3» (облачное объектное хранилище) можно хранить, например, в том числе, медиа файлы (картинки, изображения) не на modhost, а на стороннем сервисе (ничоси). Для сайтов, которые используют большое количество изображений в высоком разрешении это отличное решение. НО!
Проблема с контекстами Babel
Здравствуйте! у меня есть 5 контекстов: en|ua|ru|fr|de. Проблема заключается в том, что если я в web версии в адресной строке прописываю такую ссылку www.site.com/franchiza, то меня перебрасывает на 404 страницу франц. версии. Код htaccess и роутинга:
htaccess
htaccess
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(en|ua|ru|fr|de)/favicon.ico$ favicon.ico [L,QSA]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(en|ua|ru|fr|de)/assets(.*)$ assets$2 [L,QSA]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(en|ua|ru|fr|de)?/?(.*)$ index.php?cultureKey=$1&q=$2 [L,QSA]
и Роутинг <?php
if($modx->context->get('key') != "mgr"){
switch ($_REQUEST['cultureKey']) {
case 'ua':
/* switch the context */
$modx->switchContext('ua');
break;
case 'fr':
/* switch the context */
$modx->switchContext('fr');
break;
default:
/* Set the default context here */
$modx->switchContext('web');
break;
}
unset($_GET['cultureKey']);
}
Вывод товаров mFilter2
Добрый вечер, подскажите, люди добрые, как реализовать (и возможно ли это в принципе) вывод только тех товаров, у которых есть заполненное tv поле?
Как запретить повторное добавление товара в корзину?
Доброго времени суток!
На сайте отключен выбор количества товара и в корзину всегда добавляется один (так нужно заказчику).
Но если посетитель кликнет по кнопке дважды — справа от корзины появится цифра два, а перейдя в корзину посетитель увидит там один товар.
Получается путаница.
В идеале конечно после добавления в корзину менять кнопку «в корзину» на ссылку «перейти в корзину», но я не нашел решение, которое будет работать даже после перезагрузки страницы.
Возможно ли как-то игнорировать повторное нажатие кнопки? Или может все уже придумано до меня?
Либо как вариант справа от корзины показывать количество наименований товаров (если такое возможно)
На сайте отключен выбор количества товара и в корзину всегда добавляется один (так нужно заказчику).
Но если посетитель кликнет по кнопке дважды — справа от корзины появится цифра два, а перейдя в корзину посетитель увидит там один товар.
Получается путаница.
В идеале конечно после добавления в корзину менять кнопку «в корзину» на ссылку «перейти в корзину», но я не нашел решение, которое будет работать даже после перезагрузки страницы.
Возможно ли как-то игнорировать повторное нажатие кнопки? Или может все уже придумано до меня?
Либо как вариант справа от корзины показывать количество наименований товаров (если такое возможно)
[miniShop2 + mspTinkoff] Можно ли вызвать оплату заказа через API ?
Добрый день. Создаю заказ через API modx примерно так:
Как сделать так, чтобы после создания заказа происходил переход на его оплату? На сайте установлен модуль mspTinkoff.
$miniShop2->initialize($modx->context->key, $scriptProperties);
$miniShop2->cart->clean();
$miniShop2->cart->add(165, 1, $option);
$miniShop2->order->add('receiver', 'Заказ доставки из калькулятора');
$miniShop2->order->add('email', 'test@test.io');
$miniShop2->order->add('phone', $fullInfo['Телефон']);
$miniShop2->order->add('comment', $fullInfo['ФИО и комментарий']);
$miniShop2->order->add('text_address', $text);
$miniShop2->order->add('payment', 2);
$miniShop2->order->add('delivery', 1);
$miniShop2->order->submit();
Как сделать так, чтобы после создания заказа происходил переход на его оплату? На сайте установлен модуль mspTinkoff.
[miniShop2] Можно ли заменить цену товара в корзине?
Можно ли заменить цену товара в корзине при оформлении заказа через API?
Например,
Например,
$miniShop2->initialize($modx->context->key, $scriptProperties);
$miniShop2->cart->clean();
$miniShop2->cart->add(165, 1, $option);
$cart = $miniShop2->cart->get();
$cart[array_key_first($cart)]['price'] = $newPrice;
$miniShop2->cart->clean();
$miniShop2->cart->set($cart);
заменяет цену в корзине, но после оформления заказа, у товара всё равно цена по умолчанию. Почему? pdoPage фильтр по TV (список одиночный выбор) [РЕШЕНО]
Доброе утро, друзья!
Есть TV поле (список одиночный выбор) с параметрами:
Не пойму, как перевести в Fenom это (&where=`{«TVtestgeo.value:LIKE»:"%1%"}`). Подскажите пожалуйста!
Есть TV поле (список одиночный выбор) с параметрами:
Владимир == 1||Санкт-Петербург == 2
И есть вывод:[[!pdoPage?
&parents=`20`
&tpl=`tpl.news`
&includeTVs=`testgeo`
&limit=`8`
&ajaxMode=`default`
&pageLimit=`4`
&where=`{"TVtestgeo.value:LIKE":"%1%"}`
]]
Он выводит статьи которые принадлежат либо Владимиру, либо Санкт-Петербургу.Не пойму, как перевести в Fenom это (&where=`{«TVtestgeo.value:LIKE»:"%1%"}`). Подскажите пожалуйста!