Андрей

Андрей

С нами с 28 февраля 2013; Место в рейтинге пользователей: #139
Андрей
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/
Андрей
28 ноября 2018, 15:30
+1
Использовать текущий псевдоним в пути псевдонимов
Вот это отличная настройка у ресурса!
Андрей
28 ноября 2018, 15:13
0
Тоже на чистой установке проверил — не работает, в хроме точно.
Андрей
22 ноября 2018, 09:11
0
В pdoPage, если сделать пагинацию по кнопке, то обычная пагинация по страницам просто скрывается через display:none
Андрей
02 ноября 2018, 13:08
0
После выгрузки запускать сниппет который проверит категории и выставит публикацию у категорий.