Вопросы

mSearch2, mSync и 40 000 товаров

Здравствуйте!
Есть похожие тикеты на эту тему, но они довольно старые, и касаются в основном минишопа. Поэтому спрошу.
Клиент желает заказать ИМ с 40 000 товаров, с фильтрами и синхронизацией с 1С.
Вопрос — не будет ли тормозить mFilter2? Какое количество товаров в категории допустимо для быстрой работы компонента? И не будет ли проблем с синхронизацией с 1С?
Svetlana S
14 декабря 2020, 16:16
modx.pro
927
0

pdoResources сортировка по своему TV полю

Ребят, всем привет. Подскажите как сделать сортировку по своему TV полю. Допустим у меня есть родитель «Категория» и у него есть подкатегории. У каждой подкатегории есть TV поле top со значением. В значении будут только цифры. Пример вызова:
Владислав
14 декабря 2020, 15:55
modx.pro
1 032
0

Подскажите вариант конструкции на fenom

Добрый день, подскажите вариант как сделать такую конструкцию на fenom. Сам сниппет вызвать это не проблема, но тут конструкция в ссылке, поэтому не получается)

[[~[[BabelTranslation? &contextKey=`web`]]? &scheme=`https`]]
Andrei
14 декабря 2020, 12:53
modx.pro
1 019
0

Ошибка в логах после обновления pdoTools

Обновил до последней версии (2.12.7-pl) и теперь вылазит ошибка
(ERROR @ /home/u31605/public_html/core/components/pdotools/model/pdotools/pdotools.class.php: 446) Recoverable error: Object of class msProductData_mysql could not be converted to string

Установлена MODX Revolution 2.8.1-pl
Sergey
13 декабря 2020, 13:18
modx.pro
1
1 403
0

frontendManager не появляется у контент менеджера, как настроить права?

Нигде в интернете не нашел как сделать, чтобы панель появлялась у пользователя с правами контент менеджера, а не администратора. Это реально сделать? Если да, то как?
Toxa
12 декабря 2020, 18:15
modx.pro
802
0

Расширение класса mspreActionsProduct в mspre

Доброй пятницы, уважаемые разработчики, Андрей в их числе.
Подскажите как расширить класс mspreActionsProduct в mspre. Хочу добавить дополнительные возможности.
Не могу понять, на какое событие нужно повесить плагин.
Роман
11 декабря 2020, 18:20
modx.pro
498
0

кастомное поле с типом file в дополнении Office

подскажите пожалуйста, как добавить поле с типом «file» в дополнении Office, что бы пользователь мог прикреплять свои документы в личном кабинете.
Искал здесь modx.pro/howto/8889
но там на примерах вроде как добавляют только текстовые поля и чекбоксы
alexandr.skyrda
11 декабря 2020, 15:41
modx.pro
715
0

Проблема с IF в SELECT при xpdo запросе.Через pdoTools

На некотрых запросах использую конструкцию вида:
'select'=>[
                        'MaterialDet'=>'IF(SUM(MaterialDet.status_id)/COUNT(MaterialDet.status_id)<2,1,2) as material_status1',
                    ],
MODX делает экранирование 1:
SELECT IF(SUM(MaterialDet.status_id)/ COUNT(MaterialDet.status_id)<2, `1`, 2) AS material_status1
Чудом нашел код в котором это безобразие происходит :-). В файле /core/xpdo/om/mysql/xpdoquery.class.php в строке 57 проверка на экранирование:
$escape = !preg_match('/\bAS\b/i', $column) && !preg_match('/\./', $column) && !preg_match('/\(/', $column);
Я нашел выход и добавил проверку на цифры и строку:
$escape = !preg_match('/\bAS\b/i', $column) && !preg_match('/\./', $column) && !preg_match('/\(/', $column) && !preg_match('/^\d+[\.,]?\d*$/', trim($column)) && !preg_match('/^\'[^ \']*\'$/', trim($column));
Может кто-нибудь знает лучшее решение? https://github.com/modxcms/revolution/issues/15347

UPD 12.12.2020
Выяснилось, что эта ошибка возникает от pdoTools.
Александр Туниеков
10 декабря 2020, 22:14
modx.pro
704
0

PdoTools(ajaxMode) для таблицы

Сделал вывод дополнительных ячеек таблицы по кнопке показать еще:
Виноградов Тимур
10 декабря 2020, 19:54
modx.pro
888
0

FormIt и расширение модели

Добрый день,

Подскажите затупку как расширить модель FormIt

Я хочу добавить в общую табличку картинку вот так
yadi.sk/i/NiuxZK7tNXPp6w

Я создал в БД поле
yadi.sk/i/TbDR0LDMHw5H4g

Потом в файле, который отвечает за рендер таблички прописал поля

yadi.sk/i/7A618k_pdx00oQ

Потом пошел в shema и прописал там
<?xml version="1.0" encoding="UTF-8"?>
<model package="formit" baseClass="xPDOObject" platform="mysql" defaultEngine="InnoDB" phpdoc-package="formit">
    <object class="FormItForm" table="formit_forms" extends="xPDOSimpleObject">
        <field key="form" dbtype="varchar" precision="255" phptype="string" null="false" default=""/>
        <field key="context_key" dbtype="varchar" precision="100" phptype="string" null="false" default=""/>
        <field key="values" dbtype="text" phptype="string" null="false" default=""/>
        <field key="ip" dbtype="varchar" precision="100" phptype="string" null="false" default=""/>
        <field key="date" dbtype="int" precision="11" phptype="integer" null="false" default=""/>
        <field key="encrypted" dbtype="tinyint" precision="1" phptype="boolean" null="false" default="0"/>
        <field key="encryption_type" dbtype="int" precision="2" phptype="integer" null="false" default="1"/>
        <field key="hash" dbtype="varchar" precision="255" phptype="string" null="false" default=""/>
      <field key="images" dbtype="varchar" precision="255" phptype="string" null="false" default=""/>
    </object>
</model>
в formitform.map.inc.php

прописал
<?php
/**
 * @package formit
 */
$xpdo_meta_map['FormItForm']= array (
  'package' => 'formit',
  'version' => NULL,
  'table' => 'formit_forms',
  'extends' => 'xPDOSimpleObject',
  'tableMeta' => 
  array (
    'engine' => 'InnoDB',
  ),
  'fields' => 
  array (
    'form' => '',
    'context_key' => '',
    'values' => '',
    'ip' => '',
    'date' => 0,
    'encrypted' => 0,
    'encryption_type' => 1,
    'hash' => '',
  ),
  'fieldMeta' => 
  array (
    'form' => 
    array (
      'dbtype' => 'varchar',
      'precision' => '255',
      'phptype' => 'string',
      'null' => false,
      'default' => '',
    ),
    'context_key' => 
    array (
      'dbtype' => 'varchar',
      'precision' => '100',
      'phptype' => 'string',
      'null' => false,
      'default' => '',
    ),
    'values' => 
    array (
      'dbtype' => 'text',
      'phptype' => 'string',
      'null' => false,
      'default' => '',
    ),
    'ip' => 
    array (
      'dbtype' => 'varchar',
      'precision' => '100',
      'phptype' => 'string',
      'null' => false,
      'default' => '',
    ),
    'date' => 
    array (
      'dbtype' => 'int',
      'precision' => '11',
      'phptype' => 'integer',
      'null' => false,
      'default' => 0,
    ),
    'encrypted' => 
    array (
      'dbtype' => 'tinyint',
      'precision' => '1',
      'phptype' => 'boolean',
      'null' => false,
      'default' => 0,
    ),
    'encryption_type' => 
    array (
      'dbtype' => 'int',
      'precision' => '2',
      'phptype' => 'integer',
      'null' => false,
      'default' => 1,
    ),
    'hash' => 
    array (
      'dbtype' => 'varchar',
      'precision' => '255',
      'phptype' => 'string',
      'null' => false,
      'default' => '',
    ),
   
    'images' => 
    array (
      'dbtype' => 'varchar',
      'precision' => '255',
      'phptype' => 'string',
      'null' => false,
      'default' => '',
    ),
  ),
);
Что еще нужно сделать?) или это вообще не правильно?)
perfkirill
10 декабря 2020, 16:17
modx.pro
1 184
0