Блог SOPDU


Январь 26, 2016

Вывод разделов Интернет-Магазина


Встала задача реализовать вывод разделов интернет-магазина в шаблоне сайта (в верстке). Что не является типовым решением.
Реализовано это так:

Дальше...

Запись в: HostCMS - Без комментариев - Тэги: HostCMS, content, shop, sections, магазин, интернет-магазин



Январь 18, 2016

Немного хадкода


Возникла проблема с кастомом элемента, у которого должна была быть необычная верстка.
В частности, вывести название элемента и все дополнительные свойства.
Способ вывода через XSL совсем не подходил для реализации. Достойного решения с помощью HostCMS - API тоже не нашлось.
После недолгих раздумий и изучения строения sql-базы у HostCMS, было принято решение напрямую выдернуть из БД и собрать это в массив, который потом можно закастомить как угодно.

Дальше...

Запись в: HostCMS - Комментариев: 1 - Тэги: HostCMS, content, условие, PHP, логика, api, MySQL, БД, База данных, запросы



Январь 04, 2016

XSL IF ELSE и вывод дополнительного свойства по «галочки»


В XSL нет такого понятия как if else , как в PHP.
Но все же нечто подобное есть.
Конструкция следующая:
<xsl:choose>
   <xsl:when test="УСЛОВИЕ"> //это if
      Действие удовлетворяющее условия
   </xsl:when>
   <xsl:otherwise> // это else
      Действие не удовлетворяющее условию
   </xsl:otherwise>
</xsl:choose>

Допустим у нас дополнительное свойств «галочка».
Нам нужно, что бы по активной галочки выполнялось какое-то действие, а без галочки выполнялось другое действие в XSL.

Дальше...

Запись в: HostCMS - Комментариев: 2 - Тэги: HostCMS, content, условие, XSL, логика



Декабрь 23, 2015

Вставка редактируемых областей


Разрабатывая интернет ресурсы, очень важно учесть то, что в большинстве случаев конечный пользователь не обладает специальными знаниями (например, html) и встает вопрос, как сделать так, чтобы ему было удобно работать с ресурсом?
Допустим, надо сменить телефон или время работы в шапке сайта. Конечный пользователь с этим не справляется, так как не знает, как это сделать, где и т.д.
Казалось бы, что выход очевиден: или завести персонального администратора, или писать (звонить) в техническую поддержку. Но, есть более изящный выход из этой проблемы:

Разрабатывая ресурсы, надо сделать так, чтобы любой элемент можно было редактировать кликом мышки непосредственно на той странице, на которой его надо изменить.

В HostCMS это можно реализовать так:
Создайте документ, впишите в него, скажем, телефон. Допустим, у документа id будет 3.
Теперь мы в любое место верстки (шаблона) можем вставить код вызова этого документа:

<?php Core_Entity::factory('Document', 3)->Document_Versions->getCurrent()->execute();?>

В итоге, конечный пользователь сможет кликнуть на телефоне, и без проблем его изменить, не копаясь в файлах того же шаблона и не ломая верстку :)

Запись в: HostCMS - Без комментариев - Тэги: content, HostCMS, user



Декабрь 18, 2015

Меню аккордион


В самое начало добавлен скрипт, который отвечает за скрытие/открытие. Также добавлен блок для вывода подузлов:

<xsl:if test="structure">
<ul class="left_menu gray_link gray" id="{@id}" style="display: {$style_type}">
<xsl:apply-templates select="structure"/>
</ul>
</xsl:if>

Запись в: HostCMS - Без комментариев - Тэги: HostCMS, menu



Декабрь 14, 2015

Вывод дополнительных свойств в категории


Задача:

Вывод дополнительных свойств в категории товара.

Реализация:

<xsl:value-of select=".//shop_group[@id=$group]/property_value[tag_name='text-bottom']/value"/>

Запись в: HostCMS - Без комментариев - Тэги: content, HostCMS