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

Andrey
13 июля 2021, 17:14
0
В типе «дата» нельзя несколько одновременно выбрать. А чекбоксы визуально проще выглядят — сразу все дни. Да, их можно выстроить в несколько столбцов, но их порядок сверху вниз, а хотелось бы, как строки, слева направо. Или, если на одной вкладке несколько тв, хочется иметь возможность расположить их в линию хотя бы, а не друг под другом. Типа, как если бы каждый отдельный чекбокс был inline-block, а сейчас они, как block. Вообще хочется гибкости в отображении любых тв в админке…
Роман
13 июля 2021, 16:34
0

Можно использовать тип ввода «Дата».
Александр
13 июля 2021, 16:32
0
Вот держите:
<h1>Заказ {$page}</h1>
<h3>Ссылка на страницу: {$_modx->makeUrl($_modx->resource.id)}</h3>
<hr>
<h2>Данные заказчика:</h2>
{$name != '' ? "<p><strong>Имя зазказчика: </strong>"~$name~"</p>" : ''}

{$phone != '' ? "<p><strong>Телефон: </strong>"~$phone~"</p>" : ''}

{$email != '' ? "<p><strong>E-mail: </strong>"~$email~"</p>" : ''}

{$company != '' ? "<p><strong>Компания: </strong>"~$company~"</p>" : ''}

{$msg != '' ? "<p><strong>Комментарий: </strong>"~$msg~"</p>" : ''}

<hr>
<h2>Данные заказа:</h2>
{$maket1 != '' ? "<p><strong>Наличие макета: </strong>"~$maket1~"</p>" : ''}

{$side != '' ? "<p><strong>Сторона печати: </strong>"~$side~"</p>" : ''}

{$material != '' ? "<p><strong>Вид материала: </strong>"~$material~"</p>" : ''}

{$calc_size_castum_w != '' ? "<p><strong>Размер ширина: </strong>"~$calc_size_castum_w~"</p>" : ''}

{$calc_size_castum_h != '' ? "<p><strong>Размер высота: </strong>"~$calc_size_castum_h~"</p>" : ''}

{$calc_size != '' ? "<p><strong>Размер: </strong>"~$calc_size~"</p>" : ''}

{$pechat != '' ? "<p><strong>Вид печати: </strong>"~$pechat~"</p>" : ''}

{$calc_paper != '' ? "<p><strong>Бумага основная / обложка: </strong>"~$calc_paper~"</p>" : ''}

{$calc_thickness != '' ? "<p><strong>Плотность бумаги / обложки: </strong>"~$calc_thickness~"</p>" : ''}

{$calc_colors != '' ? "<p><strong>Цветность / обложки: </strong>"~$calc_colors~"</p>" : ''}

{$calc_print != '' ? "<p><strong>Печать: </strong>"~$calc_print~"</p>" : ''}

{$calc_format != '' ? "<p><strong>Формат: </strong>"~$calc_format~"</p>" : ''}

{$calc_count != '' ? "<p><strong>Количество листов: </strong>"~$calc_count~"</p>" : ''}

{$calc_kalendar != '' ? "<p><strong>Вид календаря: </strong>"~$calc_kalendar~"</p>" : ''}

{$calc_setka != '' ? "<p><strong>Календарная сетка: </strong>"~$calc_setka~"</p>" : ''}

{$calc_luvers != '' ? "<p><strong>Вид крепления: </strong>"~$calc_luvers~"</p>" : ''}

{$calc_reklama != '' ? "<p><strong>Количество рекламных полей: </strong>"~$calc_reklama~"</p>" : ''}

{$dlina != '' ? "<p><strong>Длина: </strong>"~$dlina~" см.</p>" : ''}

{$hirina != '' ? "<p><strong>Ширина: </strong>"~$hirina~" см.</p>" : ''}

{$qt != '' ? "<p><strong>Тираж: </strong>"~$qt~" шт.</p>" : ''}

{$calc_qt != '' ? "<p><strong>Тираж: </strong>"~$calc_qt~"</p>" : ''}

{$time != '' ? "<p><strong>Время изготовления: </strong>"~$time~"</p>" : ''} 

{$calc_time != '' ? "<p><strong>Время изготовления: </strong>"~$calc_time~"</p>" : ''} 

{$calc_bigovka != '' ? "<p><strong>Биговка: </strong>"~$calc_bigovka~"</p>" : ''} 

{$calc_postwork != '' ? "<p><strong>Постобработка: </strong>"~$calc_postwork~"</p>" : ''} 

{$qt_block != '' ? "<p><strong>Количество {$qt_block_type}: </strong>"~$qt_block~"</p>" : ''} 

{$calc_paper_block != '' ? "<p><strong>Бумага для блока: </strong>"~$calc_paper_block~"</p>" : ''}

{$calc_thickness_block != '' ? "<p><strong>Плотность бумаги блока: </strong>"~$calc_thickness_block~"</p>" : ''}

{$calc_colors_block != '' ? "<p><strong>Цветность блока: </strong>"~$calc_colors_block~"</p>" : ''}

{$calc_binding != '' ? "<p><strong>Тип крепления блока: </strong>"~$calc_binding~"</p>" : ''}

{$calc_cut != '' ? "<p><strong>Вырубка изделия: </strong>"~$calc_cut~"</p>" : ''}

{$calc_falz != '' ? "<p><strong>Количество фальцев: </strong>"~$calc_falz~"</p>" : ''}

{$calc_foil != '' ? "<p><strong>Наличие тиснения: </strong>"~$calc_foil~"</p>" : ''}

{$calc_foil_color != '' ? "<p><strong>Фольга: </strong>"~$calc_foil_color~"</p>" : ''}

{$calc_foil_klishe != '' ? "<p><strong>Изготовление клише: </strong>"~$calc_foil_klishe~"</p>" : ''}

{$calc_round != '' ? "<p><strong>Скругление углов: </strong>"~$calc_round~"</p>" : ''}

{$calc_uv != '' ? "<p><strong>Лакирование: </strong>"~$calc_uv~"</p>" : ''}

{$сalc_lamin != '' ? "<p><strong>Ламинация: </strong>"~$сalc_lamin~"</p>" : ''}

{$сalc_plotrez != '' ? "<p><strong>Плоттерная резка: </strong>"~$сalc_plotrez~"</p>" : ''}

{$calc_result != '' ? "<p><strong>Цена, руб: </strong>"~$calc_result~"</p>" : ''}

{$calc_prices != '' ? "<p><strong>Цена, руб: </strong>"~$calc_prices~"</p>" : ''}
Роман
13 июля 2021, 15:50
0
А где сам email_calctest.tpl?
Виталий Киреев
13 июля 2021, 14:59
0
Смотрите, что за плагины вызываются на OnDocFormSave. Судя по всему там у вас перегенеривается что-то на каждое сохранение ресурса.
Алексей
13 июля 2021, 14:08
0
Столкнулся с непонятным ооочень долгим обновлением одной категории во время импорта (обновление происходит через процессор «mgr/extend/updatemscategory»), может кто-то может объяснить почему так? Очень долго искал место где всё стопориться на долго.

Потом уже воспроизводил через консоль, вручную подставил теже самые данные:
$processorProps = array(
    'id' => 274,
    'class_key' => 'msCategory',
    'pagetitle' => 'ЖЕНСКОЕ',
    'context_key' => 'web',
    'parent' => 40,
);

$this->modx->runProcessor('mgr/extend/updatemscategory', $processorProps, array('processors_path' => '/var/www/site/data/www/site/core/components/msync/processors/'));
Ответ о времени и запросах из консоли:
SQL time: 5.0144 s
SQL queries: 16430 — 16 тыщь запросов к базе? ради обновления одной категории???
PHP time: 49.7612 s
Total time: 54.7757 s — 54 секунды на одну категорию??
Memory: 116 MB
Сделал временно пока так
Файл /core/components/msync/model/msync/msynccataloghandler.class.php:790:
/**
 * Update miniShop2 category
 *
 * @param $parentId
 * @param $categoryId
 * @param $categoryName
 * @return bool|mixed
 */
protected function updateMsCategory($parentId, $categoryId, $categoryName)
{
    $this->clearModxErrors();

    // $processorProps = array(
    //     'id' => $categoryId
    //     , 'class_key' => 'msCategory'
    //     , 'pagetitle' => $categoryName
    //     , 'context_key' => $this->config['catalog_context']
    // );
    // if ($parentId) $processorProps['parent'] = $parentId;

    $category = $this->modx->getObject('modResource', $categoryId);
    if($category) {
        $category->set('class_key', 'msCategory');
        $category->set('pagetitle', $categoryName);
        $category->set('context_key', $this->config['catalog_context']);
        if ($parentId) $category->set('parent', $parentId);
        $category->save();

        return true;
    } else {
        return false;
    }

    // TODO очень долго выполняется, много запросов
    //$response = $this->modx->runProcessor('mgr/extend/updatemscategory', $processorProps, array('processors_path' => $this->config['processorsPath']));

    // if (!$response->isError()) {
    //     $_SESSION['importResources']['category']['updated'][] = $categoryId;
    //     return $response;
    // } else return false;
}
Владимир
13 июля 2021, 12:15
0
Есть возможность импорта/эскпорта цен и параметров из модификаторов msOptionsPrice2?
Евгений Webinmd
12 июля 2021, 13:42
0
необходимо добавить в словарь перевод для этого ключа mse2_filter_ms_weight
Семен
12 июля 2021, 13:32
0
Спасибо, все заработало. Невнимательно документацию смотрел.

Есть еще одна небольшая проблемка, видимо мозги уже закипели окончательно.
При переходе на англ. версию сайта, все названия фильтров переводятся, кроме «объема», выводит такое
mse2_filter_ms_weight, в упор не понимаю, почему так.

Буду безмерно благодарен за помощь. Спасибо!
Роман
12 июля 2021, 09:32
0
Не очень понятно, что вы описали. Выложите скрины, чего вы хотите, и что есть на данный момент. В админке точно нет такого, скорее всего через css нужно реализовывать.
Stepan
12 июля 2021, 02:06
0
а много чанков — это сколько
просто если 20штук, то это даже руками пробежаться и навесить метки…
вам в принципе все равно править счетчики и вешать метки
если больше 20 то можно написать скриптик по обновлению кода чанка
добавляем в кнопку отправки типа data-rel=«chto_ugodno»
а по хорошему чанки с параметрами лучше вызывать
для поиска и замены заюзай нормальный текстовый редактор с поиском по тексту
займет не более 3 минут на каждый чанк
Ivanov Alexandr
11 июля 2021, 17:12
0
Спасибо.
Вывод блоков теперь вот
{'!pdoResources' | snippet: [
                'frontend_css' => '',
                'class' => 'pageBlock',
                'loadModels' => 'pageBlocks',
                'sortby' => 'rank',
                'sortdir' => 'asc',
                'limit' => 100,
                'tpl' => 'tpl.PageBlocks',
                'where' => [
                   'resource_id' => $_modx->resource.id,
                    'active' => 1
                ],
            ]}
Проблема с контекстами осталась.
После того как добавляешь к контексту cultureKey то в контексте отличном от контекста ru блоки не отображаются.
Shedko Denis
11 июля 2021, 15:11
0
Спасибо за предложение.

Но придется заставить править «в ручную», ибо таких чанков может быть несколько разных на странице.
Stepan
11 июля 2021, 15:07
0
попробуйте отталкиваться от родителей
например id страницы(родителя) или класса html родителя
если это разные города, то соответственно воспользуйтесь генерацие плейсхолдера на каждый город и от него шагайте
Сергей
11 июля 2021, 13:30
0
Здравствуйте! При импорте (обновлении) из xlsx получаю в консоли [2021-07-11 10:19:21] (ERROR @ /home/stylebel/web/apkqw.stylebel.ru/public_html/core/components/msimportexport/model/msimportexport/reader/msieexcelreader.class.php: 100) [MsieExcelReader] Exception Row 3 is out of range (3 — 1)
Данные не обновляются. Но ошибок нет, пишет после импорта обновлено, ошибок 0.

В настройках «Ключ товара, по которому определяется его уникальность» стоит id.
На скрине показал как заполнял поля . Exel фал отредактировал после экспорта (экспорт работает).
Не пойму в чем проблема. Помогите!
Игорь
11 июля 2021, 12:14
0
А как сделать наоборот у простых ресурсов. Есть родитель и ТВ у него. Это же ТВ присвоено дочерним. Как прописать значение родителя в это же тв дочерних?
Был бы очень признателен.