[Помощь] как вставить текст в определенную категорию.

Тема в разделе "WebAsyst", создана пользователем Lexand, 11 фев 2011.

Модераторы: mdss
  1. Lexand

    Lexand Создатель

    Регистр.:
    5 мар 2010
    Сообщения:
    14
    Симпатии:
    0
    Люди добрые помогите с решением проблемы.
    Как в WebAsyst зделать чтобы статья выводилась в определенной категории ну и товаре скажем.
    Вроде по всем темам прошол, не нашол решения.
    Если пропустил, не ругайте сильно.
     
  2. Djutan

    Djutan Создатель

    Регистр.:
    29 янв 2011
    Сообщения:
    21
    Симпатии:
    8
    В самом вебасисте такой возможности не предусмотрено, нужно пидалить код.
    В самом простом случае, (если не заморачиваться с отдельным модулем) нужно:
    1. Зарегестрировать функцию, которая будет вызываться в шаблоне, что то типа {cpt_auxpages_print}. Проще всего это сделать в классе class.auxpages.php - добавить в метод initInterfaces запись $this->__registerComponent('auxpages_print', ...) (синтаксис посмотрите там же, по аналогии, как указываются компоненты для регистрации). Внести запись в таблицу SC_interface_interfaces. В нашем случае xInterfaceCalled = 16_auxpages_print.
    Если не хотите чтобы функция потерялась во время обновления, то нужно еще добавить и зарегестрировать свой класс, и уже в нем регестрировать свои функции.
    2. Внести изменения в порядок вызова методов, а именно проинициализировать методы auxpages при вызове списка товаров. Это делается путем добавления записи в таблицу SC_division_interface, где xDivisionID = 1, а xInterface = 16_bauxpage.
    3. Собственно написать функцию печати статьи, вернее не написать а скопировать код из метода getInterface() (class.auxpages.php) и дописать пару строк обработки переменной, которая будет передаваться из шаблона в роли id статьи, которую вы хотите напечатать.
    4. В шаблоне вывода товаров в категории добавить диррективы смарти, по которым будет выводиться определенная статья, в зависимости от текущей категории, что то типа:
    HTML:
    {if $categoryID == '564'}
    	{assign var=article_code value='auxpage_1'}
    {elseif $categoryID == '567'}
    	{assign var=article_code value='auxpage_2'}
    {/if}
    {if $article_code}
    	{cpt_auxpages_print article=$article_code}
    {/if}
    Или писать отдельный модуль, с привязкой статьи к категории/товару из админки.