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

Наумов Алексей
23 декабря 2021, 14:26
-1
Кроме MinifyX есть еще ModxMinify, решает туже задачу: склеивание и минификация скриптов.

css первых экранов записывать в inline пока не пробовал)

webp да, хорошая штука, но нужно постоянно об этом думать…

Обычно все это делается уже на этапе развития сайта, его рекламы и продвижения. На этапе разработки, как правило, это никому не нужно и никто за это не платит.
Александр Мельник
23 декабря 2021, 13:40
0
А что за сайт, на котором пользователи могут
пользователи грузят хоть и минифицированные, но зачастую не нужные для конкретной страницы библиотеки.
steve.kon
23 декабря 2021, 11:37
0
Вы через него скрипты и стили собираете?
Хотелось бы понять кто и как делает — может я отстал уже сильно и всё через какие-то костыли делаю…
Алексей Смирнов
23 декабря 2021, 11:05
+1
Мининификация minifyX срабатывает лишь при первом запросе, потом все из Кеша берется.
И соответственно все ок.
Компонент бесплатный, поэтому можно протестить и принять решение.
Никита
23 декабря 2021, 10:48
0
Здравствуйте! Извините, что туплю и не понимаю, как сохранить ресурс, чтобы в нем сохранились изменения на карте. Я поставил метки, сохранил документ, сбросил серверный кеш, сбросил браузерный кеш, а изменения так и не отображаются.
Mishiko
22 декабря 2021, 22:23
0
Нашел проблему. при установке minishop2 я не обратили внимание на ошибку в логе. Как раз там это было отражено что не было создана таблица
mdx2w_ms2_options

Вот если у кого будет такая же проблема пропишите это в базе только заменяете на свой префикс mdx2w_
CREATE TABLE `mdx2w_ms2_options` (
  `id` int(10) UNSIGNED NOT NULL,
  `key` varchar(255) NOT NULL DEFAULT '',
  `caption` varchar(255) NOT NULL DEFAULT '',
  `description` text,
  `measure_unit` tinytext,
  `category` int(10) UNSIGNED NOT NULL,
  `type` varchar(255) NOT NULL DEFAULT '',
  `properties` text
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

ALTER TABLE `mdx2w_ms2_options`
  ADD PRIMARY KEY (`id`),
  ADD KEY `key` (`type`),
  ADD KEY `category` (`category`);
ALTER TABLE `mdx2w_ms2_options` ADD FULLTEXT KEY `caption_ft` (`caption`);

ALTER TABLE `mdx2w_ms2_options`
  MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;
COMMIT;
steve.kon
22 декабря 2021, 22:17
0
Спасибо
Роман
22 декабря 2021, 22:15
+1
Вот еще многие с этой сервисом работают: smartreserve[.]ru
Роман
22 декабря 2021, 22:08
1
0
Выберите раздел, куда хотите сохранить. Посмотрите ошибки в инспекторе ошибок.
steve.kon
22 декабря 2021, 21:16
0
Полностью согласен. Скорее всего будет внедрен вот этот сервис без всяких изобретений на уровне CMS: restoplace.cc/
Закрывает абсолютно все потребности
Александр Мельник
22 декабря 2021, 19:14
+2
В моем понимании такой софт должен быть максимально красивый и отзывчивый. Стоит администратор ресторана перед монитором и там без всяких перезагрузок страницы отображаются брони, разным цветом подсвечиваются столики, меняются даты и время брони.
Не приятно с этим будет работать если нужно будет постоянно обновлять в админке какие то страницы, чтобы посмотреть что забронировано. Но мне кажется в стандартной админке modx такой интерактивности не добиться. Я бы делал и часть для покупателя и часть для администратора как хорошо сверстанные обычные страницы, просто нашел бы способ закрыть паролем часть для админа.
R2m0x94 (Vasily)
22 декабря 2021, 18:38
0
Точнее так будет более правильнее:
$plugin = ['availability' => '{core_path}components/minishop2/plugins/cart/availability/index.php'];
if ($miniShop2 = $modx->getService('miniShop2')) {
    $miniShop2->addPlugin('cart', $plugin);
}
R2m0x94 (Vasily)
22 декабря 2021, 18:15
0
Возьмем например такую иерархию в дереве каталогов проекта:
plugins
|_cart
|_|_availability
|_|_|_index.php
|_order
|_|_custom_modules
|_|_|_index.php
|_|_deliverytime
|_|_|_index.php
И рассмотрим пример системной настройки ms2_plugins: []
Давайте попробуем туда записать данные за вместо квадратных скобок, поместим массив json:
{
    "cart": {"availability": "{core_path}components/minishop2/plugins/cart/availability/index.php"}, 
    "order": {
        "custom_modules": "{core_path}components/minishop2/plugins/order/custom_modules/index.php",
        "deliverytime": "{core_path}components/minishop2/plugins/order/deliverytime/index.php"
    }
}
Работает, отлично!

На Вашем же примере надо просто выполнить код в консоле, который будет помещать массив в плагин cart
<?php
$plugins = [
    'cart' => ['availability' => '{core_path}components/minishop2/plugins/cart/availability/index.php']
];
if ($miniShop2 = $modx->getService('miniShop2')) {
    $miniShop2->addPlugin($plugins);
}
И Вы увидите в системной настройке ms2_plugins массив-json со следующем содержимом:
{"cart": {"availability": "{core_path}components/minishop2/plugins/cart/availability/index.php"}}
Алексей
22 декабря 2021, 15:30
0
да этот официальный плагин затирает cart_cost переменную, вся логика расчёта корзины теряется
да и удаляться сам без ошибок не умеет, приходиться файлик
core/components/minishop2/custom/order/boxberryOrderHandler.class.php
вручную удалять
прям бестолково сделан, ничего не скажешь, сдэком проще доставлять-)
vrm13
22 декабря 2021, 09:39
0
согласен, но я не могу в поддержку более года прошло на оба компонента, поэтому сам ковырял. У msoneclick даже есть события типа «msoneclick_after_init» только всё рано не получилось, в консоли вижу только одну разницу в вызовах на странице и в модальном окне: на странице когда всё работает подключается actions.php от msOrderFiles, а в модальном окне его не появляется, а как он запускается я так не понял.
Андрей
21 декабря 2021, 21:43
+1
«Подскажите, пожалуйста, на каких компонентах такое можно реализовать?»
По идее можно попробовать сделать на — UserEvents
Николай Савин
21 декабря 2021, 20:12
+3
Ой да кто тут опытный, это же MODX. Тут если знают что такое PHP — это уже опытные.
А если умеют компоненты делать — так вообще полубоги.
Тодор
21 декабря 2021, 18:26
+2
я не самый опытный в этом вопросе, но посмотрю может как-нибудь соберу вместе свои примеры по этому вопросу и опубликую
Тодор
21 декабря 2021, 18:23
1
+2
Здесь немного сложнее, нужно расширить класс mse2FiltersHandler по этой инсрукции и отредактировать метод getSortFields, перед return нужно добавить еще пару строк
if(!empty($this->config['sortby'])){
    //если хочеш использовать те параметри что были при инициализации mFilter2
    $sortby = explode(",", $this->config['sortby']);
    array_unshift($data,  $sortby[0]); 
    //можно и напрямую заново определить sortby
    //array_unshift($data, "CASE `Data`.`vendor` WHEN 7 THEN 1 ELSE 0 END ASC"); 
}