Курс 2016 года “Разработка на UMI.CMS от 0 до готового сайта”
Варианты подгрузки разных типов страниц в одном шаблоне

Автор AxiomateriaРаздел Шаблоны XSLT

Ответов: 4
Просмотров: 1596
Последний ответ 08 Июля 2013, 14:52:35
от admin
Вывести конкретное описание товара в шаблоне xslt

Автор johnРаздел Шаблоны XSLT

Ответов: 4
Просмотров: 3698
Последний ответ 25 Октября 2011, 02:40:56
от admin
Вывод загружаемой фотографии из группы полей в шаблоне

Автор AxiomateriaРаздел Шаблоны XSLT

Ответов: 23
Просмотров: 5317
Последний ответ 14 Мая 2014, 12:50:52
от admin
Вывод в шаблоне дополнительных полей при оформлении заказа

Автор max_ripРаздел Шаблоны XSLT

Ответов: 2
Просмотров: 1523
Последний ответ 14 Мая 2014, 12:47:47
от admin
Яндекс.Метрика в XSLT шаблоне

Автор ZadiraРаздел Шаблоны XSLT

Ответов: 1
Просмотров: 2863
Последний ответ 24 Мая 2011, 15:17:41
от instream

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

*

pomoykin

  • *
  • 14
  • +0/-0
    • Просмотр профиля
Прошу простить нуба, подскажите, пожалуйста, как в шаблоне прописать выбор языка? Нужно, чтобы как в админке была языковая панелька. Не ручками же ее рисовать...

Сайт на трех языках, вроде разобрался как наполнять контент, с шаблонами XSLT только два часа как начал разбираться (собственно, с ЮМИ три часа как дружу) :)

Большое спасибо за помощь!
« Последнее редактирование: 23 Июня 2011, 15:44:31 от admin »

*

admin

  • *****
  • 2416
  • +171/-1
    • Просмотр профиля
Re:языковая панель в шаблоне
« Ответ #1 : 23 Июня 2011, 12:50:04 »
то есть вы хотите чтобы у вас были ссылки на разные версии сайта для пользователей?

*

pomoykin

  • *
  • 14
  • +0/-0
    • Просмотр профиля
Re:языковая панель в шаблоне
« Ответ #2 : 23 Июня 2011, 12:55:42 »
да-да-да! нужны ссылочки на разные языки (языки прописаны в системе, наполнение есть, если руками УРЛ забивать - работают).
думаю, что руками в шаблоне ХыТыМыЛить как-то некомильфо :)
должна быть какая-то функция али макрос...

*

admin

  • *****
  • 2416
  • +171/-1
    • Просмотр профиля
Re:языковая панель в шаблоне
« Ответ #3 : 23 Июня 2011, 13:00:36 »
для вывода существующих языковых версий есть макрос %system getLangsList% — Выводит список существующих языковых версий сайта. почитайте про него в документации http://help-dev.umi-cms.ru/system.getLangsList.html

и может где понадобиться
%pre_lang% — Выводит языковой префикс текущей языковой версии сайта. http://help-dev.umi-cms.ru/global.pre_lang.html

*

pomoykin

  • *
  • 14
  • +0/-0
    • Просмотр профиля
Re:языковая панель в шаблоне
« Ответ #4 : 23 Июня 2011, 13:13:48 »
спасибо, пойду копать в эту сторону.
о результатах отпишусь.

ЗЫ: такое ощущение, что никто на ЮМИ не реализовывал многоязычность - информации в сети ноль :(

ЗЗЫ: а не подскажите, где лежат XSLT-шаблоны админки? может, проще там подсмотреть, чем лисапед изобретать?

*

admin

  • *****
  • 2416
  • +171/-1
    • Просмотр профиля
Re:языковая панель в шаблоне
« Ответ #5 : 23 Июня 2011, 13:18:15 »
)) направление насчет админки интересное.

попробуйте может там и есть в явном виде. они лежат в /styles/skins/mac

*

pomoykin

  • *
  • 14
  • +0/-0
    • Просмотр профиля
Re:языковая панель в шаблоне
« Ответ #6 : 23 Июня 2011, 14:39:14 »
вобщем, чую, что нужное лежит в /styles/skins/mac/interface/ui/site-langs.xsl но применить это не могу в силу слабых познаний XSLT... тупое копирование куска кода не спасает - видимо, из-за ошибки дает пустую страницу...

может, кто быстро прояснит момент или тки самому обложиться букварями?

*

admin

  • *****
  • 2416
  • +171/-1
    • Просмотр профиля
Re:языковая панель в шаблоне
« Ответ #7 : 23 Июня 2011, 14:51:24 »
сделайте вывод макроса <xsl:apply-templates select="document('udata://system/getLangsList')/udata" mode="lang_change">

создайте шаблоны типа
<xsl:template match="udata" mode="lang_change">
 <xsl:apply-templates select="items/item" mode="lang_change"/>
 </xsl:template>

 <xsl:template match="item" mode="lang_change">
<xsl:variable name="lang_link" select="@prefix."/>
 <a href="{@prefix}.ссылка-текущей-страницы">
<xsl:value-of select="."/>
 </a>

 </xsl:template>

писал слету, так что могут быть помарки

*

pomoykin

  • *
  • 14
  • +0/-0
    • Просмотр профиля
Re:языковая панель в шаблоне
« Ответ #8 : 23 Июня 2011, 15:08:33 »
спасибище огроменное!

я тем временем решил проблему другим путем:

1. скопировал /styles/skins/mac/interface/ui/site-langs.xsl в /xsltTpls
2. в скопированном файле добавил определение переменных, которых не хватало (где-то она в админке определяется раньше, наверное)
<xsl:variable name="lang-prefix" select="/result/@pre-lang"/>
<xsl:variable name="site-langs" select="document('udata://system/getLangsList')/udata" />
3. подредактировал в том же файле генерируемые пути, чтобы в админку не выносило :)
4. добавил вызов этого фйлика в /xsltTpls/__common.xsl
5. в шаблон довавил
<xsl:apply-templates select="$site-langs" />

всё прекрасно работает!

пишу подробно, ибо мало ли кому понадобится, а в сети про это ни слова не нашел...

еще раз спасибо Уважаемому Админу за помощь!

*

admin

  • *****
  • 2416
  • +171/-1
    • Просмотр профиля
Re:языковая панель в шаблоне
« Ответ #9 : 23 Июня 2011, 15:11:38 »
отличное решение) рад что все получилось даже лучше чем я думал

и хорошо что отписали, действительно о языковых версиях почти нет информации

*

pomoykin

  • *
  • 14
  • +0/-0
    • Просмотр профиля
Re:языковая панель в шаблоне
« Ответ #10 : 23 Июня 2011, 15:15:19 »
вобщем, на тему можно вешать [solved]
мне ЮМИ понравилась, буду разбираться дальше и тусоваться тут :)
еще раз спасибо за помощь!
« Последнее редактирование: 23 Июня 2011, 15:44:44 от admin »