Skip to content

Instantly share code, notes, and snippets.

@maximzasorin
maximzasorin / imgicksrgb.php
Last active December 25, 2015 12:56
Модифицированный драйвер Imagick с конвертацией изображений в sRGB (HostCMS)
<?php
/**
* Модифицированный драйвер Imagick с конвертацией изображений в sRGB
*
*/
class Core_Image_Imagicksrgb extends Core_Image
{
static public function resizeImage(/* ... */)
{
@maximzasorin
maximzasorin / searchbyprodandvendor.php
Created December 31, 2015 23:20
Поиск по артикулу и производителю при импорте CSV-файла (HostCMS)
<?php
// В импортируемом CSV-файле первым должен быть столбец с производителем, а вторым столбец с артикулом
/*
* В bootstrap.php:
*
// Поиск по артикулу и производителю при импорте CSV-файла
Core_Event::attach('ImportShopItems.onBeforeFindByMarking', array('Shop_Item_Import_Observer_SearchByProdAndVendor', 'onBeforeFindByMarking'));
Core_Event::attach('ImportShopItems.onAfterFindByMarking', array('Shop_Item_Import_Observer_SearchByProdAndVendor', 'onAfterFindByMarking'));
@maximzasorin
maximzasorin / getcoordinates.php
Created January 13, 2016 12:43
Визуализация объектов на карте Яндекса (HostCMS)
<?php
/*
* Получение координат объекта по адресу с помощью Яндекс.Карты API
*
* В bootstrap.php:
*
// Получение координат объекта по адресу с помощью Яндекс.Карты API
Core_Event::attach('property_value_text.onAfterSave', array('Kad_Informationsystem_Observer_GetCoordinates', 'onAfterAddressSave'));
Core_Event::attach('property_value_string.onAfterSave', array('Kad_Informationsystem_Observer_GetCoordinates', 'onAfterCoordinatesSave'));
@maximzasorin
maximzasorin / custom-breadcrumbs.php
Created January 15, 2016 09:31
Произвольная структура хлебных крошек с помощью базового контроллера (HostCMS)
<?php
// ...
$Core_Controller = new Core_Controller(
Core_Entity::factory('Site', CURRENT_SITE)
);
// Информационная система «Сервисное обслуживание»
$serviceInformationsystemId = 23;
@maximzasorin
maximzasorin / shortcut-bug.txt
Created February 14, 2016 18:37
Баг ярлыков при генерации XML контроллера показа (HostCMS)
При генерации XML ярлыки товаров заменяются на оригинальные товары, при
этом происходит замена группы оригинального товара на группу ярлыка (тег
shop_group_id), а также подменяется значение свойства shortcut_id. Так
ведет себя контроллер сейчас, но только в том случае, если в выборке нет
ярлыков, ссылающихся на один и тот же товар.
Если же в одну группу добавить несколько ярлыков одного и того же товара,
то замена shop_group_id и shortcut_id выполнится только для одного ярлыка.
Остальные ярлыки будут представлены как оригинальные товары без замены
shop_group_id и shortcut_id.
@maximzasorin
maximzasorin / filter.js
Last active March 14, 2016 12:25
Фильтр
/**
* Класс для фильтра
*
* @constructor
* @param {HTMLElement} form - Форма
*/
var Filter = function(form) {
this.form = form;
this.button = form.find('.show-results-button');
this.clearButton = form.find('.clear-button');
@maximzasorin
maximzasorin / query.sql
Last active June 1, 2016 14:40
Запрос выбирает все модификации товаров из базы данных и представляет в виде единой таблицы (HostCMS)
/**
Запрос выбирает все модификации товаров из базы данных и представляет в виде единой таблицы
Колонки:
site_id — идентификатор сайта
products_name — название товара
mode — артикул модификации
variants_name — название модификации
price — основная цена модификации
special_price — цена модификации со скидкой
@maximzasorin
maximzasorin / emailstrict.js
Created August 16, 2016 09:25
Method for jQuery Validate
$.validator.addMethod('emailstrict', function(value, element, param) {
return /^[a-zA-Z0-9_\.\-+]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9]{2,4}$/.test(value);
});
<?php
\DB::enableQueryLog();
// code with database query
dd(\DB::getQueryLog());
@maximzasorin
maximzasorin / declension1.xsl
Last active September 27, 2016 12:44
Шаблон для склонения существительных в XSL
<xsl:template name="declension1">
<xsl:param name="number" />
<xsl:variable name="nominative">
<xsl:text>слово</xsl:text>
</xsl:variable>
<xsl:variable name="genitive_singular">
<xsl:text>слова</xsl:text>
</xsl:variable>