Skip to content

Instantly share code, notes, and snippets.

View andronex's full-sized avatar

Andrey andronex

View GitHub Profile
@andronex
andronex / ms2productextend.js
Created March 29, 2023 22:10
Перенос TV поля на вкладку свойств товара miniShop2 в MODX Revolution < 3.0
Ext.override(miniShop2.panel.Product, {
getProductFields: function (config) {
var enabled = miniShop2.config.data_fields;
var available = miniShop2.config.extra_fields;
var product_fields = this.getAllProductFields(config);
var col1 = [];
var col2 = [];
var tmp;
for (var i = 0; i < available.length; i++) {
@andronex
andronex / link_replace.php
Created March 6, 2023 14:32
Замена ссылок в content поле ресурсов на новые ID ресурсов
@andronex
andronex / ncs.php
Created December 1, 2022 03:02
Парсер цветов NCS с сайта https://colorscheme.ru/ncs-colors.html для MODX из Console с сохранением в свою кастомную таблицу
<?php
$modx->addPackage('colorsProducts', MODX_CORE_PATH . 'components/colorsProducts/model/');
for($idx=1;$idx <= 20;$idx++){
$url = 'https://colorscheme.ru/ncs-colors-'.$idx.'.html';
$options = array(
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HEADER => false,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_ENCODING => "",
@andronex
andronex / ral.php
Created December 1, 2022 02:29
Парсер цветов RAL с сайта https://ral.ru/classic_colours для MODX из Console с сохранением в свою кастомную таблицу
<?php
$modx->addPackage('colorsProducts', MODX_CORE_PATH . 'components/colorsProducts/model/');
$url = 'https://ral.ru/classic_colours';
$options = array(
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HEADER => false,
CURLOPT_FOLLOWLOCATION => false,
CURLOPT_ENCODING => "",
CURLOPT_USERAGENT => "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17",
@andronex
andronex / console_dublicate.php
Last active November 17, 2022 07:19
Копирование товара в miniShop2 с галереей. Плагин на скорую руку. Базовая функция взята из моих же парсеров / импортёров товаров для ИМ на MODX + miniShop2
<?php
// Сколько ресурсов обрабатывать за раз
$step = 1;
// Если процесс уже остановлен, сбрасываем OFFSET
if (!isset($_SESSION['Console']['completed'])) {
$_SESSION['console_offset'] = 0;
}
$offset = isset($_SESSION['console_offset']) && $_SESSION['console_offset'] ? $_SESSION['console_offset'] : 0;
// Формируем запрос
@andronex
andronex / adminka_shop.php
Last active October 8, 2022 03:59
Небольшая кастомизация для полей MODX + карточки товара miniShop2 + RichText Editor для easyComm
<?php
$eventName = $modx->event->name;
switch($eventName) {
case 'OnDocFormPrerender':
$script = '
if(Ext.getCmp(\'minishop2-product-tabs\')){
MODx.addTab("minishop2-product-tabs",{title:"Параметры товара / Размеры",id:"modx-resource-table-sizes"});
a = Ext.getCmp(\'modx-resource-table-sizes\');
b = Ext.getCmp(\'minishop2-options-vtabs\');
@andronex
andronex / adminka.php
Last active October 5, 2022 10:08
Кастомизация админки
<?php
$eventName = $modx->event->name;
switch($eventName) {
case 'OnDocFormPrerender':
$script = '
if (MODx.loadRTE && Ext.getCmp(\'modx-resource-introtext\')) {
MODx.loadRTE(\'modx-resource-introtext\');
}
';
$modx->controller->addHtml('<script>
@andronex
andronex / .htaccess
Created September 12, 2022 11:24
Редиректы с маршрутизацией статического сайта
DirectoryIndex index.php
RewriteEngine On
RewriteBase /
# Rewrite www.example.com -> example.com
RewriteCond %{HTTP_HOST} .
RewriteCond %{HTTP_HOST} ^www.(.*)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]
# Force rewrite to https for every host
@andronex
andronex / createUser.php
Last active April 7, 2022 13:18
Создание юзера и добавление его в группу (hook для FormIt MODX Revolution) - 2 способа + отдельным файлом с запросом Ajax
<?php
$allFormFields = $hook->getValues();
if(is_array($allFormFields)){
foreach($allFormFields as $k => $v){
if (filter_var($v, FILTER_VALIDATE_EMAIL)) {
$mail = trim($v);
}
}
if($mail){
@andronex
andronex / createdBy.plugin.php
Created February 1, 2022 23:35 — forked from matdave/createdBy.plugin.php
MODX change author plugin
<?php
/**
* Plugin to add a "created by" field on a resource form and moves "published on" to document tab
*
* @var modX $modx
* @var array $scriptProperties
*
* @event OnDocFormPrerender
*/
$dateFormat = $modx->getOption('manager_date_format',null,'d.m.Y');