Андрей

Андрей

С нами с 28 февраля 2013; Место в рейтинге пользователей: #142
Андрей
25 января 2019, 14:48
0
Тогда да, определённо нужно задействовать настройку seofilter_hidden_tab.
А где эта настройка? В настройках не вижу ее.
Андрей
21 января 2019, 15:35
+1
У минишопа есть такая штука как Связи товаров, через них и делайте.
Андрей
20 января 2019, 12:34
+1
Можно добавить алиасы для этих полей по ним назначить шаблоны

&aliases=`resource|publishedon:year==year,resource|publishedon:month==month`,
&tplFilter.outer.year=`чанк`,
&tplFilter.outer.month=`чанк`
Андрей
20 января 2019, 12:06
0
docs.modx.pro/komponentyi/msearch2/snippetyi/mfilter2#%D0%A7%D0%B0%D0%BD%D0%BA%D0%B8-%D0%B8-%D0%BE%D1%84%D0%BE%D1%80%D0%BC%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5

Для каждого фильтра можно указать 2 собственных чанка
&tplFilter.outer.таблица|поле=`tpl.mFilter2.filter.outer`
&tplFilter.row.таблица|поле=`tpl.mFilter2.filter.checkbox`
Андрей
20 января 2019, 12:02
0
Это скорее всего баг в phpthumb, который обновился вместе с modx 2.7.0, попробуйте поменять его на старую версию от modx 2.6.5. Он лежит в папке core/model/phpthumb/
Андрей
15 января 2019, 20:01
+1
1. Отдельные страницы для альбомов я так понял не нужны. Тогда MIGX в котором еще один MIGX c фотографиями. Либо вместо второго MIGX, tv с выбором альбомов из пакета Gallery.
Если нужны отдельные страницы то это либо Gallery, либо отдельные ресурсы с MIGX или tv с выбором альбомов из Gallery.

2. Любой виджет для соц сетей, тот же Яндекс поделиться tech.yandex.ru/share/
3. Sendex modstore.pro/packages/alerts-mailing/sendex
4. Tickets modstore.pro/packages/users/tickets либо любой сторонний сервис Disqus, hypercomments и пр.
5. Плагин на событие onDocFormSave который будет отпралять новость в Facebook с помощью API facebook.
6. Тут обычное условие в pdoResources (или чем там выводить будете) если дата публикации ресурса > текущей даты, то не выводить
7. Создаете TV для ресурса и туда записываете +1 каждый раз когда пользоваель открывает страницу, с помощью сниппета делается.
8. Сделайте меню с помощью pdoMenu c сортировкой по menuindex, и отсортруйте в админке как вам нужно основное и выпадающее меню.
Андрей
14 января 2019, 16:16
0
> Чтобы тексты можно было на разных языках привязать к SEO-страницам?
ну да, как-нибудь указать язык для которого значения указываются или еще как-то.

Да я в общем-то с помощью prepareSnippet подгружаю все значения на нужном языке. Например для фильтра значение Камень, превращается в kamen с префиксом и по этому значению подгружается лексикон, пока такой вариант устраивает.

А вот что делать с вкладкой Правила SEO — SEO, где указываются уже h1 и пр. текста, пока ничего умнее тех же лексиконов не придумал.

По поводу плагина посмотрю.
Андрей
14 января 2019, 14:39
1
0
Так у вас все верно было, надо выводить только по другому

$product = $modx->getObject('msProduct', 17954); //id Товара msProduct
$options = $product->getMany('Options');

foreach ($options as $v) {
   print_r($v->toArray());
}
Андрей
14 января 2019, 14:05
0
Чего там делать то, берешь id товара и по нему получаешь все данные, загружаешь аяксом в окно, либо через data атрибуты, если на странице товара.
Андрей
14 января 2019, 10:39
0
Из пожеланий, если бы можно было подружить это все с локализатором, было бы замечательно, а то сейчас приходится выкручиваться лексиконами)
Андрей
09 января 2019, 10:07
2
+1
Передавайте значение этого плейсхолдера в вызов mFilter2.

У mfilter есть параметр prepareSnippet, в нем указывается сниппет который будет обрабатывать результаты выборки.

код сниппета
$item = array_merge(
  (array) $row,
  array(
    'customData' => $modx->getOption('customData', $scriptProperties, '')
  )
);

return json_encode($item);

Теперь в вызове mfilter добавьте данные из плейсхолдера
'prepareSnippet' => 'название_сниппета',
'customData' => [
    'example' => $_modx->getPlaceholder('example')
]

Теперь в чанке c товаром будет доступен плейсхолдер {$customData.example}
Андрей
03 января 2019, 10:14
0
Сделайте на MIGX эти секции.
Андрей
23 декабря 2018, 19:06
0
Да это знаю, просто там создание ресурсов идет через runProcessor, видимо из-за этого. Но это не важно, мне бы понять как после создания 100 ресурсов перезапустить скрипт с параметрами. Через крон можно это сделать?

Может curl запускать из скрипта или еще как-то. Без понятия даже куда гуглить.
Андрей
14 декабря 2018, 17:09
+3
Для чекбоксов, да/нет можно добавить условие, недавно просто делал такую задачу.

foreach ($options as $option) {
    $filter = '';
    
    if ($option['type'] == 'checkbox') {
      $filter = ':boolean';
    }
    
    $_options[] = 'msoption|' . $option['key'].$filter;
}
Андрей
14 декабря 2018, 12:24
0
В MinifyX можно задать плейсхолдеры для вывода css и js, попробуйте поставить плейсхолдер для js перед закрывающим тегом а после него уже этот скрипт. Либо оформите скрипт в отдельный файл и подключите в MinifyX.
Андрей
05 декабря 2018, 20:37
+1
Надо создать TV поле с выпадающим списком, и там в возможных значениях вызвать сниппет, который возьмет данные из tv с MIGX.

@EVAL return $modx->runSnippet('getMIGXData', array('id' => 5, 'tvname' => 'migx_tv'));
id — id ресурса у которого это поле с MIGX
tvname — имя TV поля с MIGX

Сам сниппет, что-то типа такого:
$resource = $modx->getObject('modResource', $id);
$tv = json_decode($resource->getTVValue($tvname), true);

$output = [];

foreach ($tv as $k => $v) {
    $output[] = $v['name'].'=='.$v['value']; //name, value это поля из MIGX
}

return implode('||', $output);
Андрей
03 декабря 2018, 14:09
+1
Последние версии прекрасно работают.
Андрей
29 ноября 2018, 16:05
+2
Если я правильно понимаю, убирает алиас ресурса из адреса страницы. Например, есть адрес /catalog/cars/bmw/ и у ресурса cars снять эту галочку, то получится /catalog/bmw/