Курс 2016 года “Разработка на UMI.CMS от 0 до готового сайта”

0 Пользователей и 1 Гость просматривают эту тему.

*

korogan

  • ***
  • 188
  • +3/-0
    • Просмотр профиля
Здравствуйте!

Требуется на главной странице вывести 6 товаров в админке у которых стоит галочка Акция
Что я делаю:
Макрос %data doSelection('tovar_na_glavnoj','getAllFrontpage')% вставляю в нужное место на главной странице в шаблон index.tpl
Создаю в папке /usel/ файл getAllFrontpage.xml с следующим содержанием:
<?xml version="1.0" encoding="UTF-8"?>
<selection>
  <target expected-result="pages">
    <type module="catalog" method="object" />
    <property name="1_ryad_tovarov_na_glavnoj" value="1" />
  </target>
  <sort>ord</sort>
  <limit page="0">6</limit>

</selection>

Создаю файл в папке /tpls/data/usel/tovar_na_glavnoj.tpl с таким сожержанием
<?php

$FORMS = Array();

$FORMS['objects_block'] = <<<END
<p>Objects list (%total%/%per_page%):</p>
%items%

END;

$FORMS['objects_block_line'] = <<<END

%name%
%separator%

END;

$FORMS['objects_block_empty'] = <<<END
<p>Objects not found</p>
END;

$FORMS['elements_block'] = <<<END

<div class="item">
%items%
</div>

END;

$FORMS['elements_block_line'] = <<<END

<div class="item" umi:element-id="%id%">
<a href="%link%" umi:element-id="%id%" umi:field-name="name" ><h3 class="itemHeader">%name%</h3></a>
<div class="innerItem">
<a href="%link%">%data getProperty(%id%, 'izobrazhenie, 'preview_image')%</a>
%emarket price('%id%', 'short')%
<a href="%link%" class="learnMore">подробнее...</a>
%emarket basketAddLink(%id%, 'short')%
<div class="clear"></div>
</div>
</div>

END;

$FORMS['elements_block_empty'] = <<<END
<p>нет товаров для отображения</p>
END;

$FORMS['separator'] = <<<END
|
END;

$FORMS['separator_last'] = <<<END
!
END;
?>

Предворительно в шаблонах данных создал для объекта каталога группу "Опции управления" с полем 1 ряд товаров на главной с индитификатором 1_ryad_tovarov_na_glavnoj ТИП кнопка флажок.

Выводятся все товары.
Что нужно подправить?

*

korogan

  • ***
  • 188
  • +3/-0
    • Просмотр профиля
Re:Вывод товаров на главной с галочкой Акция
« Ответ #1 : 24 Октября 2011, 22:29:50 »
Разобрался.
Возможно кому пригодится.
Во первых начиная с версии с 2.8: необходимо указать параметр usel.http.allow = "1" в файле config.ini в секции [streams
Во вторых файл getAllFrontpage.xml должен быть такой.
<selection>
  <target expected-result="pages">
    <type module="catalog" method="object" />
    </target>
    <property name="1_ryad_tovarov_na_glavnoj" value="1" />
  <sort>ord</sort>
  <limit page="0">6</limit>

</selection>

И все отлично работает

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
Re:Вывод товаров на главной с галочкой Акция
« Ответ #2 : 25 Октября 2011, 02:44:47 »
Usel мощная штука)

*

rauschen

  • *
  • 22
  • +1/-0
    • Просмотр профиля
Парни, а как виртуальные копии исключить? а то по два товара на главной выводится..

*

korogan

  • ***
  • 188
  • +3/-0
    • Просмотр профиля
Галочку у них сними

*

rauschen

  • *
  • 22
  • +1/-0
    • Просмотр профиля
ну тогда у обоих товаров она снимется. это же виртуальная копия!

*

korogan

  • ***
  • 188
  • +3/-0
    • Просмотр профиля
У копии сними. А у товара оставь

*

rauschen

  • *
  • 22
  • +1/-0
    • Просмотр профиля
снимаю у копию, сохраняю - снимается у оригинала. как быть? галки не подходят

*

korogan

  • ***
  • 188
  • +3/-0
    • Просмотр профиля
Создал у товара виртуальную копию.
Зашел в нее и снял галочку отображать на главной.
Проверяю на главной выводится только основной товар виртуально копии нет.
Проверяю в админке у товара галочка есть у копии нет.

Что то Вы не правильно делаете. 

*

rauschen

  • *
  • 22
  • +1/-0
    • Просмотр профиля
версия umi какая у вас?

*

korogan

  • ***
  • 188
  • +3/-0
    • Просмотр профиля
2.8.5

*

rauschen

  • *
  • 22
  • +1/-0
    • Просмотр профиля
а у нас 2.8.5.1 и там это реально происходит. не важно у какого товара снять галку или поставить ее, то же само происходит и у копии.

*

korogan

  • ***
  • 188
  • +3/-0
    • Просмотр профиля
Странно.
По идее такого быть не должно!!!

*

rauschen

  • *
  • 22
  • +1/-0
    • Просмотр профиля
Могу дать доступ в админку, если не верите :)

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

Как в юселе исключить виртуальные копии? Или опять свой кастом писать?

*

rauschen

  • *
  • 22
  • +1/-0
    • Просмотр профиля
В общем задача решена.
Добавлен кастом doselection с проверкой на виртуальные копии. Кому надо, пишите - поделюсь кодом.