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

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

*

iankolotov

  • *
  • 11
  • +1/-0
    • Просмотр профиля
    • boschkirov.ru
Доброго дня всем!

Никак не могу добиться корректного вывода значений выпадающего списка в виде ссылок в фильтрах по объектам каталога.
Что я делаю:
<xsl:template match="field[@data-type = 'relation']">
<xsl:value-of select="@title" />
<xsl:apply-templates select="values/item" />
</xsl:template>

<xsl:template match="field/values/item">
<a href="{@filter_link}"><xsl:value-of select="." /></a>
</xsl:template>
в итоге у значения формируется ссылка вида: ?umi_authorization=&amp;fields_filter%5Bproizvoditel%5D=382, но она не работает. При этом, при переходе по ней, она снова и снова добавляется к адресу.
Что делать - не знаю. Где копать? И еще хотелось бы понять что такое umi_authorization=&amp; и откуда это вылазит?!

Извиняюсь заранее, что не по теме xslt, но, в tpl шаблонизаторе, в свое время эту проблему я решил вот так:
$FORMS['search_block_line_relation'] = <<<END
%title%
%items%
END;

$FORMS['search_block_line_item_relation'] = <<<END
<a href="%content get_page_url(%category_id%)%%filter_link%" class="fitem%selected%">%object_name%</a>
END;

*

iankolotov

  • *
  • 11
  • +1/-0
    • Просмотр профиля
    • boschkirov.ru
Ауу, ну кто-нибудь... подскажите как избавиться от ?umi_authorization=&amp; в параметре @filter_link? Всю башку сломал ???

*

ilyar

  • ***
  • 128
  • +28/-0
  • UMI.CMS, Yii, Vagrant, BEM
    • Просмотр профиля
    • ilyar на toster
Ауу, ну кто-нибудь... подскажите как избавиться от ?umi_authorization=&amp; в параметре @filter_link? Всю башку сломал ???

этого быть не должно ( может umi_authorization изначально в адресе), что у тебя выдает макрос, должно быть:

<udata category_id="44" module="catalog" method="search" generation-time="0.005478">
  <group name="cenovye_svojstva" title="Ценовые свойства">
    <field name="price" title="Цена" data-type="price"/>
    <field name="akciya" title="akciya" data-type="boolean">
  </group>
  <group name="short_info" title="Краткая информация">
    <field name="ves" title="Вес" data-type="float" />
    <field unfilter_link="?" name="vid" title="Вид" data-type="relation">
      <values>
        <item id="27178" filter_link="?fields_filter%5Bvid%5D=27178" unfilter_link="?">Ангорский</item>
        <item id="27195" filter_link="?fields_filter%5Bvid%5D=27195" unfilter_link="?">Беговой</item>
        <item id="27188" filter_link="?fields_filter%5Bvid%5D=27188" unfilter_link="?">Безродный</item>
        <item id="27216" filter_link="?fields_filter%5Bvid%5D=27216" unfilter_link="?">Голодный</item>
        <item id="27204" filter_link="?fields_filter%5Bvid%5D=27204" unfilter_link="?">Джунгарский</item>
        <item id="27199" filter_link="?fields_filter%5Bvid%5D=27199" unfilter_link="?">Упитанный</item>
      </values>
    </field>
    <field unfilter_link="?" name="pol" title="Пол" data-type="relation">
      <values>
        <item id="27179" filter_link="?fields_filter%5Bpol%5D=27179" unfilter_link="?">Самец</item>
        <item id="27205" filter_link="?fields_filter%5Bpol%5D=27205" unfilter_link="?">Самка</item>
      </values>
    </field>
  </group>
</udata>

*

iankolotov

  • *
  • 11
  • +1/-0
    • Просмотр профиля
    • boschkirov.ru
Да, не должно, но есть >:( У меня, в частности при обращении к udata, вот так http://сайт.ру/udata/catalog/search/айди_раздела
выдает в @unfilter_link="?scheme=udata" :o
Я уже начинаю думать, что как-то тут замешан .htaccess

*

ilyar

  • ***
  • 128
  • +28/-0
  • UMI.CMS, Yii, Vagrant, BEM
    • Просмотр профиля
    • ilyar на toster
Да, не должно, но есть >:( У меня, в частности при обращении к udata, вот так http://сайт.ру/udata/catalog/search/айди_раздела
выдает в @unfilter_link="?scheme=udata" :o
Я уже начинаю думать, что как-то тут замешан .htaccess

@unfilter_link="?scheme=udata" это нормально при при обращении к udata, вот так http://сайт.ру/udata/catalog/search/айди_раздела в рантайме этого не будет.

макрос %catalog search% строит filter_link примерно так   filter_link = origin_params + filter_params именно поэтому при обращении к макросу по протоколу http добавлен ?scheme=udata потому что оригинальный URL любого запроса http://сайт.ру/udata... это  http://сайт.ру/releaseStreams.php?scheme=$1&path=$3?%{QUERY_STRING}

В твоем случае где то к адресу подставляется ?umi_authorization= и поэтому это есть в @unfilter_link, действительно, возможно в этом учавствует .htaccess
« Последнее редактирование: 21 Июля 2014, 14:48:14 от ilyar »

*

iankolotov

  • *
  • 11
  • +1/-0
    • Просмотр профиля
    • boschkirov.ru
Мытарства мои таки закончились :D наверное...
Нашел в файле .htaccsess вот такую строку:
RewriteRule ^(.*)$ index.php?path=$1&%{QUERY_STRING}&umi_authorization=%{HTTP:Authorization} [L]
ну и соответственно выкинул, нахрен, часть строки с umi_authorization - заработало всё как надо.

Но всё равно, хочется понять, зачем это всё нужно. Копание в гугле привело к какому-то контроллеру разавторизации пользователя. Дальше ничего немогу найти :(