Igor Ivanov

Igor Ivanov

С нами с 19 марта 2013; Место в рейтинге пользователей: #349
Igor Ivanov
27 декабря 2016, 16:38
0
Короче, для тех, кто столкнется с такой же проблемой при большом количестве TV: есть еще одна засада, msImportExport не может экспортировать сразу все TV, если их больше 61, ошибка в логе "\core\components\pdotools\model\pdotools\pdofetch.class.php: 170) [pdoTools] Error HY000: Too many tables; MySQL can only use 61 tables in a join" т.е. он упирается в ограничение MySQL на количество джоинов. Но есть выход! Catalogfill отлично справляется с экспортом/импортом TV в товары minishop2, если добавить в конфигурацию в значения по умолчанию 'class_key' => 'msProduct', импортирует хоть по одной TV, хоть все 350, ничего не затирая, и экспортирует все 350 TV без проблем. Так что обновление цен через msImportExport, обновление TV через Catalogfill.
Igor Ivanov
27 декабря 2016, 06:53
0
Недавно решал подобную задачу, msProducts или pdoResources тут не помогут, как верно написал Иван Климчук, они могут искать только по заполненным значениям TV, это даже подчеркнуто в документации. Помог getResources, в его вызове надо использовать параметр &tvFilters=`price===||price===0` — это для случая, когда цена хранится в TV поле.
Igor Ivanov
26 декабря 2016, 14:07
0
Было бы просто чудесно, если уж слабо решить проблему, хотя бы предупреждать покупателей о данной особенности.
Извини, психанул слегонца, потерять значения 350 характеристик — это только для крепких духом ) Хорошо, что есть бекапы. К сожалению, в моем случае (350 характеристик и 443 категории) использовать опции тоже не вариант, одно дело 3 шаблона товаров, другое дело 443 категории. Контент-менеджеры меня прибьют просто.
Igor Ivanov
26 декабря 2016, 06:28
0
@Prihod Скажи, а возможно ли сделать так, что бы при импорте данные по tv дополнялись списком текущих значений tv, присутсвующих у товара? Т.е. сначала получать все tv товара, потом обновлять их значения данными из файла импорта, или дополнять данные для импорта значениями недостающих полей, и только потом уже импортировать полный список tv в minishop2? Это решило бы проблему.
Igor Ivanov
25 декабря 2016, 09:39
0
С двумя tv это выход, с 350-ю надо очень хорошо подумать, что бы решится на такое. К тому же опции нельзя назначать на категории верхнего уровня, что бы они стали доступны у товаров в подкатегориях. Если сейчас tv назначаются 3-м шаблонам, то опции придется раскидывать между 443-мя категориями. И переобучать контент-менеджеров администрированию всего этого.
Igor Ivanov
25 декабря 2016, 07:26
+1
Еще сильно не хватает возможности назначать опции категориям верхнего уровня, что бы они становились доступны товарам, лежащим в подкатегориях.
Igor Ivanov
24 декабря 2016, 16:32
0
Ключевое слово здесь «достался». Так исторически сложилось, делали другие разработчики, почему они выбрали такой путь, мне неведомо.
Igor Ivanov
24 декабря 2016, 15:58
0
Вчера на сайте, у товаров которого примерно 350 характеристик, сделаных через TV, при обновлении значения одной из TV через импорт с помощью msImportExport, значения всех остальных TV затерлись, стали пустыми. Говорят, что это такая фича стандартного процессора MODX, отвечающего за обновление TV, и нет никакой возможности это обойти. Было бы просто чудесно, если уж слабо решить проблему, хотя бы предупреждать покупателей о данной особенности. Пусть это и не проблема самого msImportExport, но наступают-то на эти грабли в том числе и при его использовании, поэтому, мне кажется, есть смысл попросить уважаемого Prihod-а отразить данный момент в документации к msImportExport. А то сейчас там написано, что импорт TV возможен, но не подчеркнуто, что надо импортировать обязательно весь набор TV, если не хотите потерять значения остальных полей, отсутствующих в файле с данными для импорта.
Igor Ivanov
24 декабря 2016, 15:44
0
Ха, 30 tv, фигня. Вот мне достался сайт с 350 tv, и вчера наступил на те же грабли. При обновлении с помощью msImportExport значения одной tv, остальные затерлись до дыр, стали пустыми. Судя по ответу автора msImportExport на обращение через личный кабинет Modstore.pro, решения до сих пор не найдено. Очень жаль, это серьезный недостаток в функционале любимой MODX.
Igor Ivanov
16 ноября 2016, 13:01
0
Добрый день! Не получается импортировать в определенную подкатегорию. Структура такая: корневой каталог «Каталог», в нем есть категория «Увлажнители», в ней категория «Ультразвуковые», в ней категория «Electrolux». Но название категории «Electrolux» не является уникальным, есть категории с тем же названием в других разделах «Каталога». Как мне импортировать товар именно в Увлажнители->Ультразвуковые->Electrolux? В поле parent прописать Увлажнители|Ультразвуковые|Electrolux или Каталог|Увлажнители|Ультразвуковые|Electrolux? Пробовал и так и так, но, почему-то закидывает в Electrolux, который совсем в другой категории, это вообще возможно, импортировать в определенную подкатегорию, если есть еще другие подкатегории с таким же названием?
Igor Ivanov
23 октября 2016, 09:51
+1
Оказалось, что у меня не был прописан обработчик сессий (session_handler_class), поставил modSessionHandler, заработало. Сергею спасибо!
Igor Ivanov
22 октября 2016, 11:30
0
Обновился, перестали работать настройки AdminTools для конкретного пользователя. Даже название темы не сохраняется. Прописываю тему, сохраняю, обновляю страницу, вижу, что прописана опять тема из общих системных настроек. И «Скрывать описание компонентов», заданное в настройках пользователя, не работает. Если включить это в системных настройках, то все нормально. Кстати, когда создаешь дубль настройки у пользователя, то слетает ее название и описание, в том числе и в системных настройках.
Igor Ivanov
19 июня 2016, 07:06
0
Параметр locale в настройках языка прописан? Вот здесь Не работает редактирование файлов в админке (PHP7) описано решение для отказа открывать файл на редактирование, но я там забыл упомянуть, что параллельно с той проблемой еще также не загружался список пакетов поставщика, при открытии менеджера пакетов. Правда никакой ошибки не появлялось, просто висел бесконечный Load… Прописав english в locale одновременно решился вопрос с редактированием файлов и загрузкой менеджера пакетов.
Igor Ivanov
13 июня 2016, 11:10
1
+2
Решил! Проблема была в том, что $this->fileRecord получает свойства файла, который хотим редактировать, в том числе его атрибуты, и вот там в дате создания и в дате редактирования приходило названия месяца на русском в кодировке windows-1251, т.е. кракозябры вместо нормальной строки, хотя везде, где только можно, в системе указано utf-8. Это ломало $this->modx->toJSON. Решилось указанием локали в настройках MODX. Раздел core->Словарь и язык параметр locale пишем english. Не совсем понятно, почему работает без указания локали на php 5.4 и 5.3, а начиная с php 5.5 и выше, не хочет.
Igor Ivanov
12 июня 2016, 15:46
0
Оппа, вот это неожиданный поворот, я думал, такое только у виндузятников…
Igor Ivanov
12 июня 2016, 14:36
0
Вот ровно такая же беда на днях приключилась. У вас тоже на винде сервер? С php 5.5 и выше перестает открывать файлы в файловом менеджере, ругается на ,canSave: 1" и в строке ",record:" пусто. В файле /manager/controllers/default/system/file/edit.class.php за это место отвечает кусок:

public function loadCustomCssJs() {
        $this->addJavascript($this->modx->getOption('manager_url').'assets/modext/sections/system/file/edit.js');
        $this->addHtml('<script type="text/javascript">Ext.onReady(function() {
            MODx.load({
                xtype: "modx-page-file-edit"
                ,file: "'.$this->filename.'"
                ,record: '.$this->modx->toJSON($this->fileRecord).'
                ,canSave: '.($this->canSave ? 1 : 0).'
            });
        });</script>');
    }
т.е. не отрабатывает нормально $this->modx->toJSON($this->fileRecord)

Что делать, не знаю, идей нет. Видимо, мы с вами одни такие чудики с сервером на винде, раз больше никого это не затронуло. А, нет, есть еще один такой бедолага: modxclub.ru/comments/comment-8887.html
Может коллективного разума уважаемого сообщества хватит, что бы решить проблему?
Igor Ivanov
23 апреля 2016, 07:59
0
Это потому что изначально порочна сама идея привязывать расчет к названию населенного пункта. Надо отталкиваться от индекса, т.е. Клиент вводит индекс, и этого достаточно для расчета, а поле с названием города он либо сам заполняет как хочет, либо автоматом по индексу определять и подставлять.