breadcrumb подправить

limon77

Постоялец
Регистрация
15 Май 2013
Сообщения
69
Реакции
8
Подскажите как подправить breadcrumb на странице товара
Если переходишь в товар через рекомендуемые, то на странице товара breadcrumb приобретает вот такой вид
Как убрать слэш перед названием товара?
Спасибо
 
Подскажите как подправить breadcrumb на странице товара
Если переходишь в товар через рекомендуемые, то на странице товара breadcrumb приобретает вот такой вид

Как убрать слэш перед названием товара?
Спасибо
попробуйте в catalog\view\theme\default\template\product\product.tpl либо (catalog\view\theme\ваша_тема\template\product\product.tpl)
вместо
Код:
  <div class="breadcrumb">
    <?php foreach ($breadcrumbs as $breadcrumb) { ?>
    <?php echo $breadcrumb['separator']; ?><a href="<?php echo $breadcrumb['href']; ?>"><?php echo $breadcrumb['text']; ?></a>
    <?php } ?>
  </div>
сделать
Код:
  <div class="breadcrumb">
  <?php foreach ($breadcrumbs as $breadcrumb) { ?>
  <?php if (count($breadcrumbs)> 0) echo $breadcrumb['separator']; ?><a href="<?php echo $breadcrumb['href']; ?>"><?php echo $breadcrumb['text']; ?></a>
  <?php } ?>
  </div>
 
попробуйте в catalog\view\theme\default\template\product\product.tpl либо (catalog\view\theme\ваша_тема\template\product\product.tpl)
вместо
Код:
  <div class="breadcrumb">
    <?php foreach ($breadcrumbs as $breadcrumb) { ?>
    <?php echo $breadcrumb['separator']; ?><a href="<?php echo $breadcrumb['href']; ?>"><?php echo $breadcrumb['text']; ?></a>
    <?php } ?>
  </div>
сделать
Код:
  <div class="breadcrumb">
  <?php foreach ($breadcrumbs as $breadcrumb) { ?>
  <?php if (count($breadcrumbs)> 0) echo $breadcrumb['separator']; ?><a href="<?php echo $breadcrumb['href']; ?>"><?php echo $breadcrumb['text']; ?></a>
  <?php } ?>
  </div>

все равно присутствует слэш
плюс хлебные крошки касаемые сео оптимизации забыты (вывод последнего значения в breadcrumb должен быть не ссылкой, а текстом)
спасибо за попытку
 
все равно присутствует слэш
плюс хлебные крошки касаемые сео оптимизации забыты (вывод последнего значения в breadcrumb должен быть не ссылкой, а текстом)
спасибо за попытку
они взяты с дефолтной темы 1.5.5.6 версии. у вас тема своя или кастомизированая, какой темплейт подгрущается, когда вы переходите на страницу продукта? попробуйте в убрать временно div хлебных крошек вообще, чтоб увидеть в правильно ли файле правки. ещё может быть у вас установлено какое то vqmod расширение, которое может нарушать тишину и спокойствие сакуру и икебану. :crazy:

по сути с контроллера получается такой массив, например
$this->data['breadcrumbs'][] = array(
'text' => $category_info['name'],
'href' => $this->url->link('product/category', 'path=' . $this->request->get['path']),
'separator' => $this->language->get('text_separator')
);
где
$_['text_separator'] = ' &raquo; ';
так что должно работать в случае внесения правок в правильный файл

в вашем же случае вместо >> получается слеш.
 
ocstore 1.5.4.1 дефолтный шаблон
сайт пока на локалке

сейчас в продукте прописано так
<div class="breadcrumb">
<?php foreach ($breadcrumbs as $i=> $breadcrumb) { ?>
<?php echo $breadcrumb['separator']; ?><?php if($i+1<count($breadcrumbs)) { ?><a href="<?php echo $breadcrumb['href']; ?>"><?php echo $breadcrumb['text']; ?></a> <?php } else { ?><?php echo $breadcrumb['text']; ?><?php } ?>
<?php } ?>
</div>
 
тоесть,
<?php echo $breadcrumb['separator']; ?>
в любом случае будет выводиться, так как нету никакого условия, которое бы ограничивало его показ. если взять, что в массиве $breadcrumbs только один элемент, то будет
<?php echo $breadcrumb['separator']; ?><?php if(1 < 1)) { ?><a href="<?php echo $breadcrumb['href']; ?>"><?php echo $breadcrumb['text']; ?></a> <?php } else { ?><?php echo $breadcrumb['text']; ?><?php } ?>
что по сути будет
<?php echo $breadcrumb['separator']; ?><?php echo $breadcrumb['text']; ?>

попробуйте поместить вывод сепаратора внутрь if условия.
 
если заменить на
<?php echo $breadcrumb['separator']; ?><?php if(1 < 1)) { ?><a href="<?php echo $breadcrumb['href']; ?>"><?php echo $breadcrumb['text']; ?></a> <?php } else { ?><?php echo $breadcrumb['text']; ?><?php } ?>

то выдает ошибку
 
если заменить на
то выдает ошибку
не нужно было так писать, тоесть это был пример вычисления и исполнения кода. попробуйте так
Код:
<div class="breadcrumb">
<?php foreach ($breadcrumbs as $i=> $breadcrumb) { ?>
<?php if($i+1<count($breadcrumbs)) { ?><?php echo $breadcrumb['separator']; ?><a href="<?php echo $breadcrumb['href']; ?>"><?php echo $breadcrumb['text']; ?></a> <?php } else { ?><?php echo $breadcrumb['text']; ?><?php } ?>
<?php } ?>
</div>
 
так должно быть
Код:
<div class="breadcrumb">
  <?php foreach ($breadcrumbs as $breadcrumb) { ?>
  <?php if (count($breadcrumbs)> 0) echo $breadcrumb['separator']; ?><a href="<?php echo $breadcrumb['href']; ?>"><?php echo $breadcrumb['text']; ?></a>
  <?php } ?>
  </div>
 
не нужно было так писать, тоесть это был пример вычисления и исполнения кода. попробуйте так
Код:
<div class="breadcrumb">
<?php foreach ($breadcrumbs as $i=> $breadcrumb) { ?>
<?php if($i+1<count($breadcrumbs)) { ?><?php echo $breadcrumb['separator']; ?><a href="<?php echo $breadcrumb['href']; ?>"><?php echo $breadcrumb['text']; ?></a> <?php } else { ?><?php echo $breadcrumb['text']; ?><?php } ?>
<?php } ?>
</div>

вначале слэш пропал, все как и хотелось
но он пропал так же при разделении подкатегорий, как вернуть?
спасибо за помощь!

 
Назад
Сверху