Joomla 3 — разрыв ссылки на категорию, если заголовок категории содержит амперсанд & amp;

У меня есть переопределение шаблона Joomla v3.x.x, которое создает макет изотопа с некоторыми фильтрами категорий.

У меня проблема в том, что если амперсанд (&) помещается в заголовок категории, этот конкретный фильтр категории не будет отображаться.

Есть ли способ убежать или разрешить амперсанд (&) чтобы показать, а не сломать фильтр для этой конкретной категории?

Код:

<?php
defined('_JEXEC') or die;

JHtml::_('bootstrap.tooltip');

if (count($this->children[$this->category->id]) > 0 && $this->maxLevel != 0) : ?>

<?php foreach ($this->children[$this->category->id] as $id => $child) : ?>
<?php if ($this->params->get('show_empty_categories') || $child->numitems || count($child->getChildren())) : ?>

<?php $data_name = $this->escape($child->title); ?>
<?php $data_option = str_replace(' ', '', $data_name); ?>

<li class="btn btn-primary"><a href="#" data-option-value=".<?php echo $data_option; ?>"><?php echo $this->escape($child->title); ?></a></li>

<?php if (count($child->getChildren()) > 0) : ?>

<?php
$this->children[$child->id] = $child->getChildren();
$this->category = $child;
$this->maxLevel--;
if ($this->maxLevel != 0) :
echo $this->loadTemplate('children');
endif;
$this->category = $child->getParent();
$this->maxLevel++;
?>

<?php endif; ?>

<?php endif; ?>
<?php endforeach; ?>

<?php endif;

Это особая строка, которая создает фильтры из заголовков категорий:

<li class="btn btn-primary"><a href="#" data-option-value=".<?php echo $data_option; ?>"><?php echo $this->escape($child->title); ?></a></li>

3

Решение

Скорее всего, проблема связана с отображением фильтра select. Попробуйте изменить следующую строку:

<?php $data_name = $this->escape($child->title); ?>

чтобы:

<?php $data_name = htmlspecialchars($child->title); ?>

И посмотрите, решит ли это проблему.

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector