Михаил
С нами с 04 октября 2016; Место в рейтинге пользователей: #458Оптимизации и тонкости работы с БД для больших магазинов на MODX Revolution
Небольшое вступление
Данная статья не претендует на универсальное решение. Всегда пользуйтесь собственной головой. Всё описанное ниже актуально для MODX Revolution 2.8.3-pl, miniShop2 2.9.1-pl.
Данная статья не претендует на универсальное решение. Всегда пользуйтесь собственной головой. Всё описанное ниже актуально для MODX Revolution 2.8.3-pl, miniShop2 2.9.1-pl.
msPaidOptions. Платные опции к товару
Компонент позволяет создавать дополнительные опции к товару, которые могут повлиять на его итоговую стоимость.
[Расширяем miniShop2] Быстрая смена статуса заказа через контекстное меню
Заказчика запарило для смены статуса лазать в полное редактирование заказа, попросил сделать что-то быстрое и простое. На скриншоте выше конечный результат. Чтобы получить такой же, файлы из этого репозитория закиньте себе в папку /assets/ и создайте плагин, который описан в конце статьи. Однако, я настоятельно рекомендую почитать статью, чтобы понимать принцип расширения всего этого дела.
Вывод фоток с Instagram по тегу или юзеру без токена
Всем привет!
Если у вас есть задача вывести фотографии по нику или тегу то можете использовать данное решение:
Если у вас есть задача вывести фотографии по нику или тегу то можете использовать данное решение:
Шпаргалка на все случаи жизни
Полезные ссылки, которые Вам пригодятся в некоторых ситуациях.
[multiSite] - Мультисайт на MODX
Привет! Компонент реализует собственно мультисайт на modx. Что он делает по факту? В зависимости от города он ищет во всей странице ключи в соответствии вашего паттерна и заменяет их на содержимое конкретно этого города.
Добавить поле в опции MS вкладка "Производитель товара" msVendor .
У меня задача добавить два поля в форму в настройках MS2, вкладка «Производитель»
1. Шаг добавляем JS файл на страницу настроек, я сделал плагин
1. Шаг добавляем JS файл на страницу настроек, я сделал плагин
<?php
switch ($modx->event->name) {
case 'msOnManagerCustomCssJs':
switch ($page) {
case 'orders':
$modx->controller->addLastJavascript(MODX_ASSETS_URL . 'components/minishop2/custom/addjsms2.js');
break;
case 'settings':
$modx->controller->addLastJavascript(MODX_ASSETS_URL . 'components/minishop2/custom/addjsms2vendor.js');
break;
}
break;
}
На событие msOnManagerCustomCssJs [Translitor] - Альтернатива транслитерации псевдонимов
Оптимизированная альтернатива всем известного, популярного компонента translit.
Сравним вот такую фразу
«На _ (Золотом крыльце) / Сидели. Царь! Царевич»
Сравните что творит Translit
«na-(zolotom-kryilcze)-/-sideli.-czar!-czarevich»
С тем, как отработал Translitor
na-zolotom-kryltse-sideli-tsar-tsarevich
Сравним вот такую фразу
«На _ (Золотом крыльце) / Сидели. Царь! Царевич»
Сравните что творит Translit
«na-(zolotom-kryilcze)-/-sideli.-czar!-czarevich»
С тем, как отработал Translitor
na-zolotom-kryltse-sideli-tsar-tsarevich
[Решено] Как подцепить редактор Ace к полю во всплывающем окне MIGX?
Как добавить Ace к обычным полям ресурса типа introtext, description, или TV-полям, я знаю. Но возникла необходимость сделать это для textarea-полей во всплывающем окне MIGX. Ситуация осложняется тем, что код окна подгружается аяксом… Кто-нибудь знает как это можно сделать, хотя бы примерно?
Борьба с парсерами и ботами - antiBot
Первый случай
Примерно год назад повадился на сайт парсер который шерстил сайт с разных IP адресов и c разными user agent, воровал информацию.
Сайт по содержанию имел около 10 миллионов страниц и ежедневно обновлялся по 10к страниц в день. Видел его даже в статистике сайта на метрике. Но все не мог придумать как его заблокировать.
Пробовал использовать компонент siteStatistics с костамизаций так чтобы можно было блочить его по IP адресам.
Худо бедно кое как избавился от этого парсера.
Второй случай
Две недели назад, какой то экспериментатор устроил мне атаку на форму регистрации пользователей, и как давай регистрировать по 2-3 пользователей в секунду. Пришлось закрыть сайт на некоторое время чтобы остановить регистрацию и выяснить как от него избавится. В итоге пару кастылей для формы регистрации еще пришлось написать. Но товарища я так и не успел вычислить так как компонент siteStatistics был отключен, и я честно говоря уже даже забыл как им пользоваться.
Кстати в логах сайта шарится не стал, так как понимал все ровно может повторится не на этом сервер так на другом, пришел один прийдет и второй
UPD: цена снижена с 1490 руб до 590 руб, чтобы можно было купить сразу для нескольких сайтов