Skip to content

Instantly share code, notes, and snippets.

View andronex's full-sized avatar

Andrey andronex

View GitHub Profile
@andronex
andronex / action.php
Created February 16, 2024 01:19
Добавление поля в карточку заказа minishop2 с ajax подгрузкой данных
<?php
define('MODX_API_MODE', true);
require_once dirname(dirname(dirname(dirname(__FILE__)))) . '/index.php';
$modx->getService('error','error.modError');
$modx->setLogLevel(modX::LOG_LEVEL_ERROR);
$modx->setLogTarget('FILE');
if ($_SERVER['HTTP_X_REQUESTED_WITH'] != 'XMLHttpRequest') {
$modx->sendRedirect($modx->makeUrl($modx->getOption('site_start'),'','','full')); //отфильтровываем все не ajax запросы
}
@andronex
andronex / app.js
Created December 8, 2023 19:29
Веб-хук для Гугл форм с записью данных в таблицу БД и отправкой email уведомления. Интеграция Гугл форм с MODX.
function onFormSubmit(e) {
if( e ) {
values = e.range.getValues();
theNewRow = values[0];
var response = UrlFetchApp.fetch('https://test.ru/assets/components/newsletters/googleform_hook.php?id=1&form=TestForm&data='+theNewRow, {'muteHttpExceptions': true});
Logger.log(response);
}
}
@andronex
andronex / colours_ceresit.php
Created September 8, 2023 21:49
Парсер цветов Ceresit (Церезит) палитр.
<?php
$tablePrefix = $modx->getOption(xPDO::OPT_TABLE_PREFIX);
$modx->addPackage('colorsproducts', $modx->getOption('core_path') . 'components/colorsproducts/model/', $tablePrefix);
$in = json_decode(file_get_contents('https://www.ceresit-coloursofnature.com/api/facade-designer/categories/6'), true);
print_r($in['data']['colours']);
foreach($in['data']['colours'] as $color){
if($color['images']['thumb']){
$name_img = mb_strtolower(end(explode('/', $color['images']['thumb'])));
@andronex
andronex / action.php
Last active December 10, 2023 18:20
Интеграция сайта на MODX с сервисом "Долями" от "Тинькофф". Долями — BNPL сервис для оплаты частями покупок в интернет-магазинах партнерах за 4 равных платежа. https://dolyame.ru/
<?php
/*
* API для Долями
* by i.modx@ya.ru / andronex
* интеграция от 20 т.р.
*/
use VKolegov\DolyameAPI\DolyameAPIClient;
use VKolegov\DolyameAPI\Entities\OrderInfo;
use VKolegov\DolyameAPI\Entities\OrderItems;
use VKolegov\DolyameAPI\Entities\RefundResponse;
@andronex
andronex / yawebmaster.php
Created June 22, 2023 14:53
Яндекс Вебмастер, добавление поддоменов в панель (юзать на MODX)
<?php
if (!isset($modx)) {
define('MODX_API_MODE', true);
while (!isset($modx) && ($i = isset($i) ? --$i : 10)) {
if (($file = dirname(!empty($file) ? dirname($file) : __FILE__) . '/index.php') AND !file_exists($file)) {
continue;
}
require_once $file;
}
if (!is_object($modx)) {
<?php
/* сопоставление категорий каталога happygifts с сайтом
* @array id категории happy, название, id аналогичной категории на сайте
*/
$in = [[910,'Аксессуары для красоты','174'],
[2713,'Аромаподарки','14240'],
[3433,'Пробники ароматов','33'],
[701,'Деловые и офисные аксессуары','79'],
[1366,'Дождевики','14621'],
[733,'Ежедневники и бизнес-блокноты','195'],
@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 => "",