Вопросы

Как не кэшировать плейсхолдер?

Всем доброго дня. Хочу сделать плагин для определения мобильных устройств и результат вывести в плейсхолдер:

$mobile=0;
$mobile_agent_array = array('ipad', 'iphone', 'android', 'pocket', 'palm', 'windows ce', 'windowsce', 'cellphone', 'opera mobi', 'ipod', 'small', 'sharp', 'sonyericsson', 'symbian', 'opera mini', 'nokia', 'htc_', 'samsung', 'motorola', 'smartphone', 'blackberry', 'playstation portable', 'tablet browser');
$agent = strtolower($_SERVER['HTTP_USER_AGENT']); 
foreach ($mobile_agent_array as $value) {
	if (strpos($agent, $value) !== false)
	{
	    $mobile=1;
	}
}
$modx->setPlaceholder('mobile',$mobile);
return;
Привязываю к событию OnWebPageInit. Проблема в том, что результат кэшируется — с какого устройства первым зашёл, такое и остаётся до очистки кэша. Как можно побороть?
Евгений Ц.
24 сентября 2019, 13:27
modx.pro
1 199
0

MODX 2.7.1-pl не открывает xml файлы компонентов.

Часто при разработке нужно по быстрому взглянуть какие названия у объектов компонентов. В MODX версии 2.7.1-pl файлы типа teaching.mysql.schema.xml перестали открываться в админке. Как поправить?
Александр Туниеков
24 сентября 2019, 12:21
modx.pro
1 111
0

Как реализовать where new на fenom?

Долго начали прогружатся страницы сайта, решил переписать на fenom, но застрял на том, как отображать случайные новые(new) товары?
То есть вопрос — как должен выглядеть такой сниппет

[[!msProducts?
&sortby=`RAND()`
&parents=`12`
&limit=`1`
&depth=`0`
&tpl=`tpl`
&includeTVs=`img`
&tvPrefix=`tv.`
]]

на Fenom отображая только новые товары внутри каталога?

Заранее благодарю

P.S. Весь сайт написан на minishop2
Марк
23 сентября 2019, 20:40
modx.pro
922
0

Как сделать сортировку msoption?

Есть поле formacherepici, хранит в себе значение формы гибкой черепицы, нужно сделать сортировку по форме.
<select class="selectpicker"  id="mse2_sort" data-width="fit">
      <option class="sort" data-sort="price" value="asc" data-icon="icon-sort-amount-asc">По цене</option>
      <option class="sort" data-sort="price" value="desc" data-icon="icon-sort-amount-desc">По цене</option>
      <option class="sort" data-sort="vendor" value="asc" data-icon="icon-sort-amount-asc">По марке</option>
      <option class="sort" data-sort="vendor" value="desc" data-icon="icon-sort-amount-desc">По марке</option>
      <option class="sort" data-sort="color" value="asc" data-icon="icon-sort-amount-asc">По цвету</option>
      <option class="sort" data-sort="color" value="desc" data-icon="icon-sort-amount-desc">По цвету</option>
      <option class="sort" data-sort="formacherepici" value="asc" data-icon="icon-sort-amount-asc">По форме</option>
      <option class="sort" data-sort="formacherepici" value="desc" data-icon="icon-sort-amount-desc">По форме</option>
    </select>
Только вот не работает сортировка по форме. Поле formacherepici является опцией.
Пробовал в url Ставить параметры, чтобы проверить что я делаю не так:
https://krovlya-yuga.ru/products/gibkaya-cherepicza/?sort=formacherepici:desc
— не работает. Кто-нибудь сталкивался с таким?
Roman
23 сентября 2019, 13:47
modx.pro
1 436
0

Как узнать категорию через API

Добрый день подскажите как узнать категорию ресурса, TV, и т.п.
И как вывести данные категории.

Так допустим не выводиться категория ресурса:
$modResource2 = $modx->getObject( 'modResource', 38);
$rus = $modResource2->toArray();
print_r( $rus );
Roman
23 сентября 2019, 13:34
modx.pro
950
0

msProfile вывод данных во фронтенде

Здравствуйте!

В админке msProfile присутствует возможность просматривать список рефералов у покупателей. Есть ли возможность вывести данные по своим рефералам во фронтенд для зарегистрированного покупателя (регистрация реализована через Login)?
newbmod
23 сентября 2019, 12:23
modx.pro
644
0

Использовать postHooks у сниппета Register для записи в profile

Здравствуйте
Использую пакет Login для регистрации пользователей на сайте.
Создал Дополнительное поле профиля юзера (не extended) — utm_source
У снипета Register добавил &postHooks=`gaAnalytics_hook`, в котором код
$hook->setValues (array(
  'utm_source' => 'UTM',
));
return true;
При регистрации пользователя данное поле не заполняется.
Подскажите, в чём может быть проблема и где поискать?

UPD
разобрался. Надо preHooks использовать
Roman
22 сентября 2019, 16:43
modx.pro
490
0

Как разбить каталог на города?

Здравствуйте Уважаемые форумчане!
Возник вопрос:

Как разбить каталог на города?

Например если мы выбираем в каталоге город Москва
Наш путь будет примерно следующим
site/moskva/catalog

Если город не выбран, то
site/catalog

И так далее.

Соответственно у каждого города должны быть свои поля
Чтобы можно было вставить «В краснодаре» или «В москве» и так далее
Ну и возможно свои номера телефонов.

Городов планируется около 300
Поэтому вариант с контекстами и поддоменами не подходит

Буду рад любой помощи
Андрей
20 сентября 2019, 17:49
modx.pro
1 326
0

Как сделать выгрузку оформленных заказов нпрямую из базы?

Сабж
Sergey
20 сентября 2019, 17:05
modx.pro
743
0

Почему не срабатывает select на modResource?

В консоле пишу код
<?php
$c = $modx->newQuery('modResource');
$c->select('`modResource`.`id`,`modResource`.`pagetitle`');

$c->prepare(); echo $c->toSQL();

$data = $modx->getCollection('modResource',$c);
foreach($data as $v){
    echo "<pre>".print_r($v->toArray(),1)."</pre>";
}
Получаю вывод
SELECT `modResource`.`id`, `modResource`.`pagetitle` FROM `modx_site_content` AS `modResource`
Array
(
    [id] => 1
    [type] => 0
    [contentType] => text/html
    [pagetitle] => Главная
    [longtitle] => Поздравляем!
    [description] => 
    [alias] => index
    [alias_visible] => 1
    [link_attributes] => 
    [published] => 1
    [pub_date] => 0
...
В запросе написано получать только id и pagetitle. В SQL только id и pagetitle. Откуда в результатах все поля modResource?
Александр Туниеков
19 сентября 2019, 23:27
modx.pro
937
0