У хостинга есть услуга Turbo Boost, временно увеличивает максимальное время до 5 минут. Я так понимаю, что модно делать файлы по 2000 строк и все без проблем будет импортироваться?
Максимальное время можно поменять в php.ini (если хостер дает).

А еще Аяксом грузят, порциями например по 100 штук, а не сразу.

Вообще, через Edit Docs импорт происходит достаточно быстро, я грузил по-моему позиций 2000 за пару минут. А вот Update… гораздо медленнее по понятным причинам.
Добрый день! Хотел спросить про максимальный размер загружаемого файла Excel, а также интересует максимальное количество позиций, которое можно импортировать из Excel-файла. Засекал время, после 2-х минут выскакивает ошибка, что максимальное время выполнения скриптов 30 секунд. Как это можно избежать? Проблема с хостингом (максимальное время выполнения скриптов стоит 30 секунд) или же нужно что-то дописать в самом модуле?
  • avatar Shin
  • 0
Решил посмотреть что изменилось в evoBabel и к удивлению не обнаружил плейсхолдер id документа-каталога языка. Я плохо искал или его нет?
Добавил в плагин evoBabel строка 189:
$modx->setPlaceholder("curr_lang_id", $curr_lang_id);

[+curr_lang_id+] пригодится для &startID, исключения из хлебных крошек и т.п.
Думаю, что для Вас уже не актуально, но для остальных оставлю.
Тоже искал решение этой проблемы, но не нашел, пытался вникать в логику, это тоже ничего не дало, решил посмотреть как устроено всё в miniShop2, там Вася подгружает файл с контроллером, от которого надо сделать расширение класса.
В нашем случае, надо подключить файл index.class.php.
Переходим в файл home.class.php и пишем:

<?php

if (!class_exists('SendexMainController')) {
    require_once dirname(dirname(__FILE__)) . '/index.class.php';
}
...
«Все это с целью освободить чанки и вызовы сниппетов от оборачивания в теги параграфа.» — я делал это проще.

В «Конфигурации / Интерфейс и представление / Действие клавиши Enter» ставите не Обернуть в p, а Добавить br.

В этом случае при нажатии Enter добавляется перевод строки, при нажатии Shift+Enter оборачивается в абзац, а по дефолту оборачивания в абзац не происходит.
напиши в телегу @DG_send расскажу как я делал!
спасибо, за подсказку, но у меня задача несколько сложнее:
Изделие 1 — в его состав входят три части
при изменении кол-ва любой из частей в адинке изменяется и кол-во изделия 1.
Части и изделия на фронте можно добавить в корзину по отдельности.
Проблема в том что когда покупатель выбрал Изделие 1 -в кол-ве 1шт, и хочет добить любую составляющую часть(а она также 1шт!), тут то и просходит беда — обе позиции уходят в корзину и в заказ, так как и того и другого больше 1 шт.
  • avatar paic
  • 0
Делал, давненько правда, поэтому по памяти.

Был магазин по кондиционарам мультисплит — надо было составлять системы из комплектующмх. Товары делились по производителю делал так:
1. Внутри производителя — обычный каталог (блоки) и в нем плюс категория комплектующих(абонетские блоки, пульты и прочая периферия).
2. на страницу одного товара ультисплит выводился блок (большим видетом) и маленькими виджетами вся периферия.
3. На эту страницу ставил корзину full
4. А дальше нужное — кпопками Купить добавлялось в корзину, А корзина называлась Составить комплект.

Как-то так

Учитывая, что кондиционер не макароны и покупают их обычно по одному, заказчика вполне устроило.
Вариант решения номер 2 (тоже временный)
Заменить файл main.js на тот, что здесь. Путь к нему увидите в папке.
После отката базы удалите файлы /assets/cache siteManager.php siteCache.idx.php
  • avatar webzic
  • 0
Попробовал этот плагин на версии 1.4.0 вылетела ошибка Fatal error: Call to undefined method SystemEvent::addOutput() in /home/… и теперь в админке ничего не работает, пробовал откатить базу не помогло.
Помогите пожалуйста.
Не могу побороть, что за ошибка. Обновили модекс.
Php 7.0, nginx, apach


Fatal error: Uncaught Error: Call to undefined method SimpleGallery\sgData::params() in /var/www/arbolitrb/data/www/arbolitrb.ru/assets/plugins/simplegallery/lib/controller.class.php:23 Stack trace: #0 /var/www/arbolitrb/data/www/8888888888.ru/assets/plugins/simplegallery/ajax.php(35): SimpleGallery\sgController->__construct(Object(DocumentParser)) #1 {main} thrown in /var/www/88888888/data/www/8888888888888.ru/assets/plugins/simplegallery/lib/controller.class.php on line 23
Правильно, только я не знаю как правильно условие прописать. Мне надо без привязки к id текущей страницы, мне надо привязаться к одной, и там отмечать
Если правильно понял: if (условие) {} else {}
Или что вы подразумеваете под 6=1?
а как в if указать что если tv в ресурсе 6 =1, то выводить одно, а если нет, то другое
Реализованно уже по другому. Адрес тоже пишется в статической информации и выводится через DocInfo.
Думаю это как то можно реализовать через сниппет
<?php
$res = $modx->getObject('modResource',6);
echo $res->getTVValue('tuadress');
return;

Только пока не понял как
  • avatar paic
  • 0
а что мешает прописать прямо в TV
Нет==||Да==Адрес магазина
и дальше по страницам с пом. DocInfo?
Некэшированным удалось. Теперь осталось как то правильно указать чтобы это кнопка работала для всех страниц. Пока работает, только если привязать кнопку к шаблону, но тогда надо выбирать ее на каждой странице, а мне надо чтобы нажал на ресурсе с id 6 и на всех страницах пропало. Шаблоны у страниц разные.
  • avatar webzic
  • 0
А если вызвов сделать не кэшированным
[!if? &is=`[*tuadress*]:is:1` &then=`<p>TEST</p>` &else=`5`!]