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 / artegifts_config.php
Last active September 11, 2023 17:43
Парсер товаров с сайта поставщика artegifts.by (с группировкой по цветам и размерам) для MODX Revolution от 2.6.5-pl + miniShop2 от 2.4.12-pl / можно запускать как из браузера с offset, так из консоли или по cron
<?php
//настройки для коннекта к artegifts.by
$portobelloUrlTree = 'products_description_xml_cdata001.xml'; //весь каталог товаров (логин/пароль выдаются)
$portobelloUrlStock = 'minskstocks.xml'; //наличие товаров (логин/пароль выдаются)
//настройки для парсинга и установки шаблонов для создаваемых продуктов
$fileCatExist = dirname(__FILE__).'/arte_category_exist.txt'; //сопоставление категорий на сайте (родителей для товаров) с выгрузкой (индивидуально для сайтов)
//настройки для обработки товаров
$tplProduct = 6;//номер шаблона для карточки товара
@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 / .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 / 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');
@andronex
andronex / watch.sh
Created July 5, 2021 20:41
Перезапуск MySQL в докере при падении
#!/bin/bash
a=`ps ax|grep 3310|grep -v grep|wc -l`
echo $a
if (( "$a" < 1 )); then
/usr/bin/docker start 21ab17aeab7b
fi
@andronex
andronex / sheet.php
Created June 10, 2021 18:40
Синхронизация остатков товаров с Гугл таблицами по номеру ячейки (MODX Revolution)
<?php
/*
* на основе статьи https://pocketadmin.tech/ru/%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0-%D1%81-4-%D0%B2%D0%B5%D1%80%D1%81%D0%B8%D0%B5%D0%B9-api-google-%D1%82%D0%B0%D0%B1%D0%BB%D0%B8%D1%86%D1%8B-%D0%BD%D0%B0-php/
* библиотека wget https://github.com/googleapis/google-api-php-client/releases/download/v2.7.2/google-api-php-client-v2.7.2-PHP7.0.zip
* номер ячейки, из которой следует брать остатки товара, указывается в TV поле товара
* остатки записываются в другое TV поле (при желании можно записать хоть куда)
*/
if (!isset($modx)) {
define('MODX_API_MODE', true);
while (!isset($modx) && ($i = isset($i) ? --$i : 10)) {
@andronex
andronex / portobello_config.php
Created April 2, 2021 12:51
Парсер товаров с сайта поставщика portobello.ru для MODX Revolution от 2.6.5-pl + miniShop2 от 2.4.12-pl / можно запускать как из браузера с offset, так из консоли или по cron
<?php
//настройки для коннекта к portobello.ru
$portobelloUrlTree = 'https://portobello.ru/export/new-products.xml'; //весь каталог товаров
$portobelloUrlStock = 'https://portobello.ru/export/new-products-quantity.xml'; //наличие товаров
//настройки для парсинга и установки шаблонов для создаваемых продуктов
$fileProductGroups = dirname(__FILE__).'/portobello_groups.txt';
$fileCatExist = dirname(__FILE__).'/portobello_category_exist.txt';
//настройки для обработки товаров