Skip to content

Instantly share code, notes, and snippets.

@maximzasorin
maximzasorin / default-delivery-location.php
Last active November 10, 2015 07:54
Регион и город по умолчанию при оформлении заказа (HostCMS)
<?php
$defaultLocation = Core_Entity::factory('shop_country_location', 2); // Санкт-Петербург и область
$defaultCity = Core_Entity::factory('shop_country_location_city', 173); // Санкт-Петербург
$oShopCountry = Core_Entity::factory('shop_country', $oShop->shop_country_id);
if ($oShopCountry)
{
$aoShopCountryLocations = $oShopCountry
->Shop_Country_Locations
@maximzasorin
maximzasorin / import.sh
Created November 12, 2015 21:49
Import *.sql to database via command line
sudo mysql -u *username* -p *dbname* < *file*
@maximzasorin
maximzasorin / gist:6c4604908960942b1816
Last active November 19, 2015 20:59
Поиск минимального и максимального значения узла атрибута XPath 1.0 (http://stackoverflow.com/questions/1128745)
Максимум:
/foo/bar/@score[not(. < ../../bar/@score)][1]
Минимум:
/foo/bar/@score[not(. > ../../bar/@score)][1]
@maximzasorin
maximzasorin / setindexing.php
Last active November 20, 2015 17:32
Наблюдатель для запрета индексации модификаций товаров, которых нет в наличии (HostCMS)
<?php
/*
* В bootstrap.php:
*
// Запрет индексации модификаций и товаров, которых нет в наличии
Core_Event::attach('shop_item.onAfterSave', array('Shop_Item_Observers_Setindexing', 'onAfterSave'));
*
*/
@maximzasorin
maximzasorin / hidenotavailableitems.php
Last active November 23, 2015 14:59
Наблюдатель, который скрывает товары, отсутствующие на текущем складе (HostCMS)
<?php
/*
*
* В bootstrap.php:
*
// Скрываем товары, которых нет в наличии на текущем складе
Core_Event::attach('Shop_Controller_Show.onBeforeRedeclaredShow', array('Shop_Item_Observers_Hidenotavailableitems', 'onBeforeRedeclaredShow'));
*
*/
@maximzasorin
maximzasorin / hidenotavailablemods.php
Created November 23, 2015 15:01
Наблюдатель, который скрывает модификации, отсутствующие на текущем складе (HostCMS)
<?php
/*
*
* В bootstrap.php:
*
// KAD: Скрываем модификации, которых нет в наличии на текущем складе
Core_Event::attach('shop_item.onBeforeShowXmlModifications', array('Shop_Item_Observers_Hidenotavailablemods', 'onBeforeShowXmlModifications'));
*
*/
@maximzasorin
maximzasorin / pricesfordefaultwarehouse.php
Created November 23, 2015 15:04
Наблюдатель, который выводит цены товаров для текущего склада (HostCMS)
<?php
/*
*
* В bootstrap.php:
*
// Подменяем цену товара в зависимости от текущего склада
Core_Event::attach('Shop_Item_Controller.onBeforeCalculatePrice', array('Shop_Item_Observers_Regionprices', 'onBeforeCalculatePrice'));
Core_Event::attach('Shop_Item_Controller.onBeforeCalculatePriceInItemCurrency', array('Shop_Item_Observers_Regionprices', 'onBeforeCalculatePrice'));
*
@maximzasorin
maximzasorin / updateilluminationarea.php
Last active December 1, 2015 12:30
Наблюдатель, который заполняет множественное числовое доп. свойство на основе диапазона, указанного в элементе списочного свойства (HostCMS)
<?php
/*
* В bootstrap.php:
*
// Заполнение числового свойства на основе списочного свойства «Площадь освещения»
Core_Event::attach('shop_item.onAfterSave', array('Shop_Item_Observers_Updateulluminationarea', 'onAfterSave'));
*
*/
@maximzasorin
maximzasorin / updateshopitemtype.php
Created December 1, 2015 12:32
Наблюдатель, который устанавливает значение списочного свойства, равным названию группы товара (HostCMS)
<?php
/*
* В bootstrap.php:
// Установка значения свойства «Товары» равным названию группы товара
Core_Event::attach('shop_item.onAfterSave', array('Shop_Item_Observers_Updateshopitemtype', 'onAfterSave'));
*
*/
@maximzasorin
maximzasorin / ulogn-hostcms-comment.js
Created December 3, 2015 15:11
Авторизация для комментариев с помощью uLogin (HostCMS)
// Передаем токен на сервер для запуска скрипта авторизации
$.ajax({
method: 'POST',
url: '/ulogin/',
data: $.param({
ajax: 1,
token: token
}),
success: function() {
// Обновляем страницу