Всего 125 679 комментариев

newbmod
28 ноября 2020, 14:30
0
Спасибо за ответ!
Но если вешать на событие onDocFormSave, то данное поле будет переписываться всегда при сохранении товара на дефолтное значение (5), даже если менеджер его изменит на отличное от дефолтного.
Константин
28 ноября 2020, 13:47
0
Всем Спасибо. Разобрался.
Александр Мельник
28 ноября 2020, 12:44
0
у вас включен режим — дружественных урл? остальные страницы сайта как открываются
site.com/page
или
site.com/index.php?id=2
?
dokreg
28 ноября 2020, 11:12
0
это наверное относится уже к выводу данных, а мне нужно чтобы при вводе в админке при указании даты не было поля ввода времени
Антон Тарасов
28 ноября 2020, 09:28
0
а как отключить время у поля в составе migx с типом inputTvtype:date?
Правильно ли я понимаю, что речь о MIGX конфигураторе?
Если да, то смотрите в сторону рендерера renderChunk, создайте поле с уникальным именем и в поле renderTpl укажите что-то типа [[+date:strtotime:date=`%d.%m.%Y`]]
Олег Щавелев
28 ноября 2020, 00:57
0
Упс, не увидел что @Иван Бочкарев, написал то же самое просто эффект дежевю. Все верно написано у @Иван Бочкарев.
Олег Щавелев
28 ноября 2020, 00:53
0
Контантин.

Вопрос вот в чём. Должен ли автоматически создаваться при этом файл sitemap.xml или нет?
Ответ Нет. Но все очень просто. Это обычный ресурс. Только тип XML. Что необходимо сделать по шагам.

  1. Включить в системных настройках Дружелюбные URL
  2. Cоздать документ (ресурс) через CMS MODX псевдоним sitemap в настройках ресурса, изменить селектор «Тип Содержимого» с HTML на XML (вкладка Настройки)
  3. Привязать ресурс к шаблону в котором содержится сниппет pdoSitemap
  4. Открыть страницу домен.cайта/sitemap.xml и проверить что карта сгенерировалась
  5. Добавить карту при необходимости в robots.txt и Веб-мастер
Артур Шевченко
28 ноября 2020, 00:48
0
Ну, товарищ, когда я говорил Нет я имел ввиду прежде всего то, что компонент задумывался для работы с классами minishop2, а так-то конечно можно, но зачем рассказывать человеку о неоптимальных способах реализации, счастье в неведении)))
Олег Щавелев
28 ноября 2020, 00:37
0
@Артур.

А почему вы так считаете? Вопрос в оптимальности, в размере БД и многих других фактором. Но ответ — да можно.

Для индексации запросов mSearch нужно прописать префикс TV и алиас поля и результаты поиска будут индексироваться с учетом значения указанного TV поля. Просто пропишите в системных настройках.



А если мы говорим о фильтрации mFilter2 — там та же история — ссылка на техническую документацию

А для @Сергей Самусев

Но это не означает, что это «идельное» решение, я рекомендую почитать про ТВ поля, как они работают (на сколько быстро), прикинуть какого размера будет БД, сколько будет документов. Взвесить все, почитать доки и дальше приступать к внедрению.
Андрей
27 ноября 2020, 23:37
0
Артур, получилось по решению в первом комменте. Намудрил с условиями. Вынес за скобки и все заработало.
Артур Шевченко
27 ноября 2020, 23:21
0
Нет. Но что мешает установить minishop2 и создавать товары? Точнее ресурсы типа Товар Магазина.
Артур Шевченко
27 ноября 2020, 23:09
0
Надо смотреть на проблему в действии.
Артур Шевченко
27 ноября 2020, 23:07
0
В каком плагине не работает?
Артур Шевченко
27 ноября 2020, 23:02
0
Я делал уведомления на сайте через этот сервис comet-server.com/. Создал таблицу в бд куда писал данные, но если сохранять не надо, то можно и без своей таблицы, просто шлёшь запросы и всё.
Артур Шевченко
27 ноября 2020, 22:41
0
Можно. Но не понятно вы про админку или фронт? Если про админку, то зачем вам одинаковая для всех видео картинка? Если про фронт, то просто добавьте колонку в migx.
Артур Шевченко
27 ноября 2020, 22:37
0
Написать плагин на событие msOnBeforeCreateOrder где проверить группу и изменить стоимость доставки, а на фронте просто проверить группу и посчитать скидку. Например через fenom
{if $_modx->user.id | ismember: 'GroupName'}
    {set $deliveryCost = $deliveryCost * 0.8}
{/if}
Артур Шевченко
27 ноября 2020, 22:29
0
Я бы повесил на событие onDocFormSave и проверял бы class_key если товар, то заполняем свойства, только возможно стоит получить именно объект msProduct, а не modResource. У последнего нет поля weight, поэтому оно и не заполняется.
Артур Шевченко
27 ноября 2020, 22:24
0
Через Контроль доступа. В этой политике miniShopManagerPolicy уберите галочку разрешающую удаление заказов.
Артур Шевченко
27 ноября 2020, 22:19
0
можно использовать конструкцию, которую я назвал compareDate
<?php
$input = new DateTime($input);
if(!$input){return false;}
if(!$options){
    $options = new DateTime();
}else{
    $options = new DateTime($options);
}
$interval = $options->diff($input);
return $interval->format('%R%a');
Это модификатор для сравнения дат. Можно через fenom вывести migx и использовать этот модификатор
{set $tv = json_decode($_modx->resource.migxTvName, 1)}
{foreach $tv as $key => $item}
    {if ('' | compareDate: $item['тут ваша дата']) == 0}
        /* тут то что нужно показать в эту дату */
    {/if}
{/foreach}
Константин
27 ноября 2020, 22:13
0
Я это всё и сделал.
Вопрос вот в чём. Должен ли автоматически создаваться при этом файл sitemap.xml или нет?
И для яндекса и гугла указывать путь в данном случае site/index.php?id=22 или нет?