Skip to content

Instantly share code, notes, and snippets.

View andronex's full-sized avatar

Andrey andronex

View GitHub Profile
@andronex
andronex / config.php
Last active October 12, 2019 08:20
Парсер товаров для импорта с gifts.ru для MODX Revolution v.2.6+ и miniShop2 v.2.4.10+ (обновлённая, рабочая версия на 02.02.2018 г.) !!!ВНИМАНИЕ!!! Просьба обратить внимание на комментарий @dumbuzz ниже. Если будете использовать, то внесите изменения в код. Если будет время, доработаю сам и выложу.
<?php
//настройки для коннекта к gifts
$giftsLogin = '****_xmlexport';
$giftsPass = '****';
$giftsUrlProduct = "http://{$giftsLogin}:{$giftsPass}@api2.gifts.ru/export/v2/catalogue/product.xml";
$giftsUrlTree = "http://{$giftsLogin}:{$giftsPass}@api2.gifts.ru/export/v2/catalogue/tree.xml";
$giftsUrlStock = "http://{$giftsLogin}:{$giftsPass}@api2.gifts.ru/export/v2/catalogue/stock.xml";
$giftsUrlFilters = "http://{$giftsLogin}:{$giftsPass}@api2.gifts.ru/export/v2/catalogue/filters.xml";
$urlImages = 'http://files.gifts.ru/reviewer/';
@andronex
andronex / resizeImg.js
Created June 12, 2015 19:33
Resize picture for adaptive and responsive designs. JavaScript function works on the fly.
<script>
function resizeImg(){
$( ".slides li img" ).each(function( index, element ){
$( element ).removeAttr("width")
.removeAttr("height")
.removeAttr("margin-top")
.removeAttr("margin-left")
.css({ width: "", height: "", "margin-top": "", "margin-left": "" });
@andronex
andronex / recent.php
Created March 18, 2016 11:35
Вывод последних просмотренных товаров
<?php
$id = $modx->resource->id;
if (!isset($limit)) {$limit = 4;}
// Добавляем просмотренный товар MS2 в сессию
if ($modx->resource->get('class_key') == 'msProduct') {
if (!isset($_SESSION['viewedrecent'])) {
$_SESSION['viewedrecent'] = array($id);
}
else {
@andronex
andronex / copy.php
Created April 8, 2016 20:24
Копирование ресурсов MODX
<?php
define('MODX_API_MODE', true);
require_once(dirname(__FILE__).'/index.php');
// Включаем обработку ошибок
$modx->getService('error','error.modError');
$modx->setLogLevel(modX::LOG_LEVEL_ERROR);
$modx->setLogTarget(XPDO_CLI_MODE ? 'ECHO' : 'HTML');
$modx->error->message = null; // Обнуляем переменную
$parent = 15;
@andronex
andronex / xml_to_minishop2.php
Last active December 29, 2019 09:42
Очередной импортёр товаров из XML файла в интернет-магазин на MODX Revolution v.2.4.4-pl + miniShop2 v.2.2.0-pl2
<?php
$tplProduct = 3; //номер шаблона для карточки товара
$tplParent = 2; //номер шаблона для категорий
$tplChildParent = 2; //номер шаблона для подкатегорий
$idParent = 6; //id каталога товаров
$fileProduct = 'product.xml'; //имя файла с товарами
$xpath_expression['pagetitle'] = '//Товары/Номенклатура'; //DOM структура в XML файле до имени
$xpath_expression['article'] = '//Товары/Артикул'; //DOM структура в XML файле до артикула
$xpath_expression['parents'] = '//Товары/Родитель'; //DOM структура в XML файле до родителей
@andronex
andronex / parser.php
Created June 20, 2016 09:29
Парсер вопросов/ответов с сайта pravoved.ru для наполнения сайта на MODX Revolution
<?php
/**
* требуется библиотека phpQuery
**/
$parserURL = array(
'Уголовные дела' => 'https://pravoved.ru/questions/criminal-law/'
,'Дела семейные' => 'https://pravoved.ru/questions/family-law/'
,'Недвижимость' => 'https://pravoved.ru/questions/realty/'
,'Автоюрист' => 'https://pravoved.ru/questions/auto-law/'
,'Наследственные дела' => 'https://pravoved.ru/questions/inheritance/'
@andronex
andronex / introRTE
Created October 1, 2016 21:54 — forked from christianseel/introRTE
RTE for introtext #modx
<?php
// Add RTE for introtext if richtext option is enabled for the resource
// check "OnDocFormRender" event
$modx->regClientStartupHTMLBlock('<script>Ext.onReady(function() {
if(MODx.loadRTE) MODx.loadRTE("modx-resource-introtext");
});</script>');
@andronex
andronex / hide_content.js
Created March 30, 2017 12:24
Сокрытие части контента и отображение при клике на кнопку
<!--noindex-->
<p id="texthidecomments" style="text-align:center;font-style:italic">----- некоторые вопросы были скрыты -----</p>
<h4 id="showallcomments" style="display: block;">
<a href="[[*uri]]#" class="wpb_button_anone"><span class="wpb_none btn btn-default">Показать все вопросы</span></a>
</h4>
<!--/noindex-->
<script>
jQuery( document ).ready(function() {
var $div = jQuery("li[data-parent=0]");
var start = 7;
@andronex
andronex / getSlider.php
Created April 1, 2017 16:08
Вывод слайдера на страницах с заполненным TV слайдера и в случае незаполненного вывод слайдов из других ресурсов.
<?php
$out = '';
if($tv = $modx->resource->getTVValue('slider-inside-oneclick')){
$tv_arr = $modx->fromJSON($tv);
if(is_array($tv_arr)){
foreach($tv_arr as $v){
if(!$v['name']) $v['name'] = $modx->resource->get('pagetitle');
$out .= $modx->parseChunk('tpl.slider-inside-oneclick', $v);
}
}
@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){