Курс 2016 года “Разработка на UMI.CMS от 0 до готового сайта”
как подключить модуль "карта сайта"?

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

Ответов: 7
Просмотров: 9431
Последний ответ 23 Октября 2011, 14:26:36
от admin
Решено: Автоматическое разворачивание разделов сайта в модуле "Структура"

Автор AlexeyРаздел Настройка системы и модулей

Ответов: 2
Просмотров: 3094
Последний ответ 01 Декабря 2011, 19:02:24
от Alexey
Работа модуля Обратная связь (вставка форм в контент сайта) при XSLT

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

Ответов: 8
Просмотров: 6435
Последний ответ 17 Октября 2012, 15:29:17
от admin
Есть второй домен, нужно повесить туда демошаблон готового сайта

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

Ответов: 6
Просмотров: 4303
Последний ответ 06 Августа 2013, 19:03:40
от NOIRMAN
Добавление тегов для товаров, и вывод блока с тегами в любом месте сайта

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

Ответов: 9
Просмотров: 5456
Последний ответ 26 Июля 2014, 10:58:09
от FelixTheCat

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

*

Faiffer

  • *
  • 2
  • +0/-0
    • Просмотр профиля
$data = $this->macros('system', 'getLangsList');
$items = $data['items'];
?>

<?php if (umiCount($items) > 0): ?>
   <div>
      <ul class="lang_list">
         <?php foreach ($items as $item): ?>
            <?php if ($item['is-current'] == 1 || $item['is-default'] == 1): ?>
               <li class="active">
                  <a href="<?= $variables['domain'] ?>"
                     <?= $this->escape($item['prefix']) ?>
                  </a>
               </li>
            <?php elseif ($item['is-current'] == 1): ?>
               <li class="active">
                  <a href="<?= $variables['domain'] ?>/<?= $variables['lang'] ?>">
                     <?= $this->escape($item['prefix']) ?>
                  </a>
               </li>
            <?php else: ?>
               <li>
                  <a href="<?= $variables['domain'] ?>/<?= $variables['lang'] ?>">
                     <?= $this->escape($item['prefix']) ?>
                  </a>
               </li>
            <?php endif; ?>
         <?php endforeach; ?>
      </ul>
   </div>
<?php endif; ?>

Но в результате получаю ошибку - Ошибка (Error): Cannot use object of type lang as array

http://prntscr.com/rzqc5x  по сути на выходе я получаю массив с 3мя объектами внутри.

*

Faiffer

  • *
  • 2
  • +0/-0
    • Просмотр профиля
Re: Как сделать языковые версии сайта
« Ответ #1 : 29 Апреля 2020, 12:31:03 »
Лес рук ))) Короче сделал вот так! Все работает, код прилагаю

<?php

$data = $this->macros('system', 'getLangsList');
$items = $data['items'];
$lang = $variables['lang'];
?>

<?php if (umiCount($items) > 0): ?>
   <div>
      <div class="lang_list">
         <?php foreach ($items as $item): ?>
            <?php if ($item->getIsDefault() && $lang=='ru'): ?>
               <a class="default active" href="/">
                  <span><?= $this->escape($item->getPrefix()) ?></span>
               </a>
            <?php elseif ($item->getIsDefault()): ?>
               <a class="default" href="/">
                  <span><?= $this->escape($item->getPrefix()) ?></span>
               </a>
            <?php elseif (isset($lang) && $item->getPrefix() == $lang): ?>
               <a class="<?= 'lang_'.$lang ?> active" href="javascript:void(0)">
                  <span><?= $this->escape($item->getPrefix()) ?></span>
               </a>
            <?php else: ?>
               <a href="<?= '/'.$item->getPrefix() ?>">
                  <span><?= $this->escape($item->getPrefix()) ?></span>
               </a>
            <?php endif; ?>
         <?php endforeach; ?>
      </div>
   </div>
<?php endif; ?>