Вопросы

Удалить данные migx поля

Подскажите как лучше реализовать удаление данных migx поля по заданной дате. Логика такая, что одно из полей migx — поле типа дата и оно сравнивается с текущей датой, как только дата удаления равна текущей, данные migx поля удаляются. Наверное тут нужен небольшой плагин и если да то на какое событие его лучше вешать?
dokreg
09 декабря 2020, 15:54
modx.pro
1 185
0

Formit и Fenom. Не работают плейсхолдеры в формах

Коллеги, привет, помогите!
По Formit и Fenom вопрос. Вызовы плейсхолдеров Formit не работают. Например:
{$_modx->getPlaceholder('fi.id')}
Не работает в форме. Отсутствует он. Работает старый плейсхолдер:
[[+fi.id]]}
Остальные тэги на fenom работают. Но модификаторы старые не работают, соответственно чекбоксы, например, не работают.
[[!+fi.secondarySplashTabs:FormItIsChecked=`1`]]
Несколько строк кода формы:
<div class="container container_mini">
<h1 class="wrap mt-3">{$_modx->getPlaceholder('fi.id')}-нет, а [[+fi.id]] - есть</h1>
Максим Логинов
09 декабря 2020, 01:33
modx.pro
1 182
0

Дублировать сниппет php

На сайте реализовал появление случайного текста в поле, через вызов сниппета:

<?php
function StrCharPosBack($haystack, $needle) {
    for ($i = strlen($haystack) ; $i>=0 ; $i--){
        if (substr($haystack, $i, 1) === $needle)
            return $i;
    }
    return false;
}

while (strpos($str, "{") !== false){
    $pos1 = strpos($str, "}");
    $buf_mas = substr($str, 0, $pos1);
    $pos2 = StrCharPosBack ($buf_mas, "{");
    $buf_mas = substr($buf_mas, $pos2+1);
    $exploded_buf_mas = explode ("|", $buf_mas);
    $rnd = rand(0, count($exploded_buf_mas)-1);
    $str = substr_replace($str, $exploded_buf_mas[$rnd], $pos2, $pos1+1-$pos2);
}

$str = (isset($str )) ? $str : '';
return $str ;
Иван
08 декабря 2020, 15:30
modx.pro
757
0

Как написать size в pagetitle?

У всех товаров уже заполнены размеры. И для экспорта возникла необходимость прописать эти размеры в pagetitle и longtitle, но никак не получается…
Подскажите, пожалуйста, есть ли такая возможность и как это сделать, если есть?
Фарит
08 декабря 2020, 12:06
modx.pro
948
0

Перенос каталога товаров

С одного сайта на другой нужно перенести каталог с товарами. Доступ к БД обоих сайтов есть. Как это сделать корректно? Какие таблицы нужно скопировать и будет ли работать?
Кефирка
08 декабря 2020, 10:09
modx.pro
1 093
0

дополнительное поле для товара minishop2

есть пример

docs.modx.pro/komponentyi/msearch2/rasshirenie/primer-filtraczii-tovarov
docs.modx.org/current/ru/extending-modx/custom-manager-pages/modext/modx.combo.combobox

создал по примеру

Пример фильтрации товаров
docs.modx.pro/komponentyi/msearch2/rasshirenie/primer-filtraczii-tovarov

дополнительный plugin с названием upakovka

в данном файле пробую адаптировать пример, чтобы через combo-list листились данные параметы, или даже просто хоть както отображались
конечно желательно как tags родной ms2 field

//Добавляем виджеты ExtJS для этого поля (availability) в админку:

// Файл /assets/components/minishop2/plugins/upakovka/msproductdata.js


// Combo Box со списком единиц

Doodles.combo.Units = function(config) {
    config = config || {};
    Ext.applyIf(config,{
        store: new Ext.data.ArrayStore({
            id: 0
            ,fields: ['unit','display']
            ,data: [
                ['MB','Megabyte']
                ,['GB','Gigabyte']
                ,['TB','Terabyte']
                ,['PB','Petabyte']
                ,['EB','Exabyte']
                ,['ZB','Zettabyte']
                ,['YB','Yottabyte']
            ]
        })
        ,mode: 'local'
        ,displayField: 'display'
        ,valueField: 'unit'
    });
    Doodles.combo.Units.superclass.constructor.call(this,config);
};
Ext.extend(Doodles.combo.Units,MODx.combo.ComboBox);
Ext.reg('doodle-combo-units',Doodles.combo.Units);


miniShop2.plugin.pluginname = {


    getFields: function(config) {


        return {
        
        upakovka: {
          header: _('usergroup')
          ,dataIndex: 'usergroup'
          ,width: 140
          ,editor: { xtype: 'modx-combo-usergroup', renderer: true}

        }



        return {
            upakovka: {xtype: 'textfield', description: _('ms2_product_upakovka_help')}                          
        }
   
    }


    ,getColumns: function() {

        // Вызов Combo Box из сетки


        upakovka: {
             header: _('unit')
             ,dataIndex: 'unit'
             ,sortable: false
             ,width: 50
             ,editor: { xtype: 'doodle-combo-units', renderer: true }
         }


        return {
            upakovka: {width:50, sortable:true, editor: {xtype:'textfield'}} 
        }

    }

       
};

Кирилл
08 декабря 2020, 08:23
modx.pro
1 537
0

Как убрать из выборки опции товара? SELECT

Добрый день,

Подскажите, пожалуйста. Есть 5000 товаров, у которых в сумме 450 опций товара, из-за чего медленно грузится страница.

Я понял, что это именно из-за опций товара. но не могу сделать дополнительный select, чтобы получить картинку товара, его цену и артикул.

[[!pdoPage?
                        
    &limit=`18`
    &tpl=`catalog_item3`
    &tplPageFirstEmpty=``
    &tplPagePrevEmpty=``
    &select=`{"modResource":"id,pagetitle,uri"}`
    &sortby=`menuindex`
    &sortdir=`ASC`
    &where = `{"template":3}`
]]


&select=`{"modResource":"id,pagetitle,uri"}`
Подгружает то, что мы хотим, но если я добавляю
&select=`{"modResource":"id,pagetitle,uri","modProducts":"article,price"}`
, то ничего не работает. Пробовал добавлять &element=`msProducts`, и с ним не работает. Наверное нужно делать INNER JOIN. Не могу найти примеров как это правильно сделать, буду благодарен, если покажите пример.
perfkirill
08 декабря 2020, 07:08
modx.pro
878
0

[КОСТЫЛИ] Динамическая смена шаблона в Tickets

Приветствую, у меня есть два раздела с тикетами, в каждом из которых свой шаблон должен быть у тикета. Соответственно написал вот такой вызов формы
Артур Шевченко
07 декабря 2020, 22:18
modx.pro
737
0

Заполнение атрибута alt

Ребят, привет. Подскажите как через TV параметры добавить новое поле для заполнения во время загрузки, необходимо индивидуально заполнять каждый alt у изображения, MIGX не нужен в данной ситуации и для каждого изображения дополнительное ТВ поле не должно быть, всё должно быть компактно. Если что не в редактор заливаются фото, а в обычные TV поля «Изображения», можете что то посоветовать?
Владислав
07 декабря 2020, 19:52
modx.pro
1 182
0

На почту приходит пустая ссылка при включённом дружесвенном url

Добрый день.
Для личного кабинета использую office.
Когда регистрируешься на сайте при включенном дружественном url, то на почту приходит пустая ссылка для подтверждения.
Если отключить дружественные url, то всё работает нормально.

В чём может быть причина?
Хотя бы подскажите как правильно настроить Дружественные URL.
Константин
07 декабря 2020, 14:47
modx.pro
682
0