1
Шаблоны PHP / Как сделать языковые версии сайта
« : 15 Апреля 2020, 13:30:55 »
$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мя объектами внутри.
$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мя объектами внутри.