HOSTCMS v.6. Полезные php коды

HOSTCMS v.6. Полезные php коды
HOSTCMS v.6. Полезные php коды

Некоторые полезные php коды для вывода данных на странице сайта.

Для структуры сайта

— Вывод меню на основе вложенных узлов структуры (подходит для многоязычных версий). Выводим подменю структуры с конкретным id.

<?php
// Верхнее меню
$Structure_Controller_Show = new Structure_Controller_Show (
Core_Entity::factory ('Site', CURRENT_SITE));
$Structure_Controller_Show->xsl (Core_Entity::factory ('Xsl')
->getByName ('ВерхнееМеню')) ->parentId(248)//заменить на свой ID ->menu(1)
->show();
? >

Для интернет-магазина

— Вывод Групп и Подгрупп товаров. Для создания меню из групп интернет-магазина.

 <?php
// Разделы магазина
if (Core::moduleIsActive('shop'))
{
$Shop_Controller_Show = new Shop_Controller_Show(
Core_Entity::factory('Shop', 1)
) ;
$Shop_Controller_Show
->xsl (
Core_Entity::factory ('Xsl')->getByName ('МагазинГруппыТоваровНаГлавной1')
)
->groupsMode ('all')
->itemsForbiddenTags(array ('text'))
->limit(0)
->show();
}
? >

— Вывод товаров по значению Дополнительного свойства. Код подходит для вывода на Главной странице сайта хитов продаж, либо для других целей, согласно функциональным особенностям конкретного сайта.

<?php
if (Core::moduleIsActive ('shop'))
{
$Shop_Controller_Show = new Shop_Controller_Show (
Core_Entity::factory ('Shop', 1)
) ;
$Shop_Controller_Show
->xsl (
Core_Entity::factory ('Xsl')->getByName ('КаталогНаГлавнойСпецПред')
)
->groupsMode ('none')
->itemsForbiddenTags (array ('text'))
->group(FALSE)
->itemsProperties(TRUE)
->limit(2);

// Объединение с нужной таблицей свойств
$Shop_Controller_Show
->ShopItems()
->queryBuilder()
->leftJoin('shop_item_properties', 'shop_items.shop_id', '=',
'shop_item_properties.shop_id')
->leftJoin('property_value_ints', 'shop_items.id', '=',
'property_value_ints.entity_id',
array(
array('AND' ≥ array('shop_item_properties.property_id', '=',
Core_QueryBuilder::expression('`property_value_ints`.`property_id`')))
)
)
// Идентификатор дополнительного свойства
->where('shop_item_properties.property_id', '=', 78)
// Значание дополнительного свойства
->where('property_value_ints.value', '=', '1')
->groupBy('shop_items.id')
// Количество свойств
->having('COUNT (shop_item_properties.shop_id)', '=', 1);

$Shop_Controller_Show->show ();
}
? >

— Вывод производителей на странице сайта.

 <?php // Разделы магазина 
if (Core::moduleIsActive ('shop'))
{
$Shop_Controller_Show = new Shop_Controller_Show (Core_Entity::factory ('Shop', 1)) ;
$oShop = $Shop_Controller_Show->getEntity (); // XML-сущность, к которй будут добавляться производители
$oProducersXmlEntity = Core::factory ('Core_Xml_Entity')->name ('producers'); // Добавляем XML-сущность контроллеру показа
$Shop_Controller_Show->addEntity ($oProducersXmlEntity); // Список производителей
$aShop_Producers = $oShop->Shop_Producers->findAll (); foreach ($aShop_Producers as $oShop_Producer) { // Добавляем производителя потомком XML-сущности
$oProducersXmlEntity->addEntity ($oShop_Producer->clearEntities ()) ;
} $Shop_Controller_Show ->xsl (Core_Entity::factory ('Xsl')->getByName ('МагазинСписокПроизводителей1'))
->groupsMode ('all')
//->itemsForbiddenTags(array ('text'))
->itemsProperties(TRUE)
->group(0)
->limit(0)
->show();
}
? > 

Для информационных систем

— Ограничение по Дополнительному свойству в Инфосистеме

 <?php // Новости
$Informationsystem_Controller_Show = new Informationsystem_Controller_Show (
Core_Entity::factory ('Informationsystem', 1)
) ;
$Informationsystem_Controller_Show
->xsl (
Core_Entity::factory ('Xsl')->getByName ('СписокНовостейНаГлавной')
)
->groupsMode ('none')
->itemsForbiddenTags (array ('text'))
->group(FALSE)
->limit(3);

// Объединение с нужной таблицей свойств
$Informationsystem_Controller_Show
->informationsystemItems()
->queryBuilder()
->leftJoin('informationsystem_item_properties',
'informationsystem_items.informationsystem_id', '=',
'informationsystem_item_properties.informationsystem_id')
->leftJoin('property_value_ints', 'informationsystem_items.id',
'=', 'property_value_ints.entity_id',
array (
array ('AND' ≥ array ('informationsystem_item_properties.property_id',
'=', Core_QueryBuilder::expression ('`property_value_ints`.`property_id`')))
)
)
// Идентификатор дополнительного свойства
->where ('informationsystem_item_properties.property_id', '=', 19)
// Значание дополнительного свойства
->where('property_value_ints.value', '=', '123')
->groupBy('informationsystem_items.id')
// Количество свойств
->having('COUNT (informationsystem_item_properties.informationsystem_id)', '=', 1); $Informationsystem_Controller_Show->show ();
? >

Понравилась статья?
Будем признательны, если поделитесь в соцсетях или мессенджерах, а также присоединитесь к нашей группе Вконтакте. Будет интересно!

Вас может заинтересовать:

HOSTCMS v.6. Боковое выпадающее меню на CSS для каталога товаров
HOSTCMS v.6. Боковое выпадающее меню на CSS для каталога товаров
Создадим раздвижное меню для каталога товаров с несколькими уровнями вложенности разделов. Меню будет открыто в основных разделах, лежащих в корневом каталоге. В принципе, вам нужно просто скопировать шаблон, CSS стили и пользоваться этим меню...

Настал 2016. Обновите свой footer
Настал 2016. Обновите свой footer
У каждого сайта в footer (футер) указываются выходные данные компании, а также год создания и текущий год. Актуальность этих данных говорит о том, что сайт жив и обновляется. Это важно, если хотите, чтобы сайт вызывал доверие.

HOSTCMS v.6. Проверка вводимых данных при оформлении заказа
HOSTCMS v.6. Проверка вводимых данных при оформлении заказа
В 6 версии разработчики убрали проверку вводимых данных в форму заказа на шаге заполнения адреса доставки. Предлагаю очень простое решение этой проблемы с использованием JavaScript. 

HOSTCMS v.6. Красивое горизонтальное выпадающее меню на CSS
HOSTCMS v.6. Красивое горизонтальное выпадающее меню на CSS
Меню адаптированно к использованию на сайтах под администрированием редакции HostCMS v.5 для вывода элементов каталога товаров. В выпадающем меню также выводится изображение подгруппы.

HOSTCMS v.6. Вывод комментариев к товарам магазина
HOSTCMS v.6. Вывод комментариев к товарам магазина
Выводим на Главной или отдельной странице сайта комментарии к товарам, оставляемые посетителями или покупателями...

Анти-спам или как на странице сайта скрыть код формы от ботов?
Анти-спам или как на странице сайта скрыть код формы от ботов?
Не ошибусь, если скажу, что практически все владельцы сайтов сталкиваются с такой проблемой, как СПАМ. Это просто кошмар, когда ваш почтовый ящик ежедневно наполняется сотнями, а то и тысячами СПАМ-писем.

Мы используем файлы cookie. Они помогают улучшить ваше взаимодействие с сайтом.