Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Исправляем хлебные крошки


Recommended Posts

 

/system/library/url.php

 

Заменить

        if ($args) {
            $url .= str_replace('&', '&', '&' . ltrim($args, '&'));
        }

На

       if ($args) {
        if($route == 'common/home') {
          if($connection == 'NONSSL') {
           $url= HTTP_SERVER.str_replace('&', '&', '?' . ltrim($args, '&'));
          return $url;
          } else {
           $url= HTTPS_SERVER.str_replace('&', '&', '?' . ltrim($args, '&'));
          return $url;
            }

        } else {
            $url .= str_replace('&', '&', '&' . ltrim($args, '&'));

        }
        } else {
         if($route == 'common/home') {
            if($connection == 'NONSSL') { return HTTP_SERVER; }
            else { return HTTPS_SERVER; }
          }
        }

 

спасибо

Надіслати
Поділитися на інших сайтах

  • 1 month later...

а как сделать например так:

Сейчас так –Главная-Шерстяные ковры- Шерстяной ковер Druggets NAT DURRIES cream
А надо  - Главная-Ковры-Шерстяные ковры – Druggets (коллекция, указывается в атрибутах) - Шерстяной ковер Druggets NAT DURRIES cream
Надіслати
Поділитися на інших сайтах


Категории

Ковры

   Шерстяные ковры

 

а дальше непонятно

Druggets (коллекция, указывается в атрибутах) |Что 
В каких атрибутах?                            |ЭТО?

Шерстяной ковер Druggets NAT DURRIES cream

Это товар

Надіслати
Поділитися на інших сайтах

Категории

Ковры

   Шерстяные ковры

 

а дальше непонятно

Druggets (коллекция, указывается в атрибутах) |Что 
В каких атрибутах?                            |ЭТО?

Шерстяной ковер Druggets NAT DURRIES cream

Это товар

Видимо имеются в виду атрибуты товара, в которых будет отдельный атрибут Коллекция со значением Druggets, который и предлагается использовать для построения структуры хлебных крошек. ИМХО решение будет очень сложное и громоздкое, если уж так хочется подобную сруктуру, то умнее перестроить категории, добавив туда коллекции по брендам, а еще умнее использовать фильтры

Надіслати
Поділитися на інших сайтах

catalog/view/theme/ВашаТема/template/product/ вот тут все файлы

catalog/view/theme/ВашаТема/template/information/ тут все файлы

 

это файлы шаблона

А если нужно править контроллер (врядли) - найдете их по адресу:

catalog/controller/product/

catalog/controller/information/

подскажите пожалуйста а у меня нет категорий product, information..............................что делать???????

Надіслати
Поділитися на інших сайтах


  • 1 month later...

Не знаю, может кому пригодится, а может и нет, делал для себя, чтобы по 100 раз не переписывать десятки файлов

хлебные крошки на vqmod (делаем не кликабельным конечный путь) - кому для красоты и эстетики, а кому для SEO

за основу взято исправление от Einshtein(второй пост в этой теме)

vqmod установлен. Закачал файл в папку xml.

Ничего не произошло. Как правильно установить?

Надіслати
Поділитися на інших сайтах


  • 2 weeks later...

Не знаю, может кому пригодится, а может и нет, делал для себя, чтобы по 100 раз не переписывать десятки файлов

хлебные крошки на vqmod (делаем не кликабельным конечный путь) - кому для красоты и эстетики, а кому для SEO

за основу взято исправление от Einshtein(второй пост в этой теме)

Спасибо!

Надіслати
Поділитися на інших сайтах

 

По умолчанию в Опенкарте формируются хлебные крошки вида:

 

Главная / Раздел / Подраздел / Товар

 

Где все 4 элемента являются ссылками. Это не совсем логично и верно как для пользователя так и для поисковика, так как последний элемент ТОВАР не должен быть ссылкой, незачем на странице размещать ссылку на саму себя.

 

Поскольку вывод дороги формируется отдельно в каждом контроллере, то чтобы исправить данную ситуацию необходимо внести правки во все файлы основных шаблонов.

 

А именно заменить 

<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 
  $total = count($breadcrumbs);
  $counter = 0;
  foreach ($breadcrumbs as $breadcrumb) { 
    echo $breadcrumb['separator']; 
    $counter++;
    if($counter == $total){
       echo $breadcrumb['text'];
    }
    else { ?>
      <a href="<?php echo $breadcrumb['href']; ?>"><?php echo $breadcrumb['text']; ?></a> 
    <?php  } 
  } 
?>
</div> 

Код не совсем красив, но универсален. Если кто-то предложит способ покороче, буду признателен :)

 

Здравствуйте, Вы не могли бы указать все пути где нужно изменять этот код?Спасибо.

Надіслати
Поділитися на інших сайтах


Здравствуйте, Вы не могли бы указать все пути где нужно изменять этот код?Спасибо.

catalog\view\theme\ВАША тема \template\.....

В дефолтном шаблоне обнаружил порядка 40 файлов с текстом <div class="breadcrumb">

 

Это предварительный анализ..... на днях буду подробнее ковырять....

P.S.

Если будет актуально и не найдете ответа - пишите в личку после 15,08,14

Надіслати
Поділитися на інших сайтах


  • 3 weeks later...

Надо вкмод сделать будет как время появится, достало уже одно и тоже исправлять. Einshtein, вы не против если я ваш код для исправления включу в мод и тут выложу?

Надіслати
Поділитися на інших сайтах

Здравствуйте.

Есть несколько вопросов, буду крайне благодарен в ответах на них.

Мой сайт: 4push.ru

Собственно проблема №1:

http://4push.ru/aksessuary-dlja-apple/iphone-5/chehly-na-iphone-5s/chehol-sector-5-black-ops-elite-dlya-iphone-55s-ot-element-case-zelenyy

При переходе по хлебным крошкам на 1 уровень ниже т.е. в категорию "Чехлы на iPhone 5s" все работает отлично.

Но если кликнуть, находясь в товаре, более чем на 1 категорию назад, например в любую из этих  "Главная » Apple » Аксессуары для iPhone 5/5s »", то получается какая-то ересь. Переходит рэндомно на разные товары из магазина. Отключал bread crumbs от апостола оставляя в те, которые в теме по умолчанию - тоже самое. Поэтому думаю, что это проблемы с темой. Собственно, как можно пофиксить этот бред? Спасибо.

Проблема №2:

error log из vqmod'a, ругается на bread crumbs от апостола, может быть это как-то связано с проблемой выше? Ругается периодически на 2 файла из темы:

----------------------------------------------------------------------


---------- Date: 2014-08-23 23:11:39 ~ IP : 157.55.39.160 ----------
REQUEST URI : /login/
MOD DETAILS:
modFile : /home/p4push1/domains/4push.ru/public_html/vqmod/xml/bread crumbs.xml
id : Bread crumbs
version : 1.0
vqmver : 2.4.1
author : AnOcToJI

File Name : catalog/view/theme/*/template/account/login.tpl(0)
VQModObject::applyMod - SEARCH NOT FOUND (ABORTING MOD):

----------------------------------------------------------------------


---------- Date: 2014-08-23 23:47:53 ~ IP : 176.193.109.46 ----------
REQUEST URI : /contact/
MOD DETAILS:
modFile : /home/p4push1/domains/4push.ru/public_html/vqmod/xml/bread crumbs.xml
id : Bread crumbs
version : 1.0
vqmver : 2.4.1
author : AnOcToJI

File Name : catalog/view/theme/*/template/information/contact.tpl(0)
VQModObject::applyMod - SEARCH NOT FOUND (ABORTING MOD):

----------------------------------------------------------------------

Надіслати
Поділитися на інших сайтах


Не знаю кто такой апостол, наверное имелось ввиду вот это...

https://opencartforum.com/topic/22224-ispravliaem-khlebnye-kroshki/?do=findComment&comment=201259

 

А теперь внимание вопрос...

А как себя должен вести браузер при такой конструкции...

<ul class="breadcrumbs">
    		<a href="http://4push.ru/">Главная</a> 
    		 » <a href="http://4push.ru/aksessuary-dlja-apple/">Apple</a> 
    		 » <a href="http://4push.ru/aksessuary-dlja-apple/iphone-5/">Аксессуары для iPhone 5/5s</a> 
    		 » <a href="http://4push.ru/aksessuary-dlja-apple/iphone-5/chehly-na-iphone-5s/">Чехлы на iPhone 5s</a> 
    		 » Бампер с прозрачной боковиной для iPhone 5 фиолетовый
      </ul>

У него должно крышу сорвать...

Надіслати
Поділитися на інших сайтах

Не знаю кто такой апостол, наверное имелось ввиду вот это...

https://opencartforum.com/topic/22224-ispravliaem-khlebnye-kroshki/?do=findComment&comment=201259

 

А теперь внимание вопрос...

А как себя должен вести браузер при такой конструкции...

<ul class="breadcrumbs">
    		<a href="http://4push.ru/">Главная</a> 
    		 » <a href="http://4push.ru/aksessuary-dlja-apple/">Apple</a> 
    		 » <a href="http://4push.ru/aksessuary-dlja-apple/iphone-5/">Аксессуары для iPhone 5/5s</a> 
    		 » <a href="http://4push.ru/aksessuary-dlja-apple/iphone-5/chehly-na-iphone-5s/">Чехлы на iPhone 5s</a> 
    		 » Бампер с прозрачной боковиной для iPhone 5 фиолетовый
      </ul>

У него должно крышу сорвать...

Дадите совет, как исправить можно? Я просто если честно не догоняю, что не так) Извините.

Надіслати
Поділитися на інших сайтах


что такое списки в html?

Как оформляются списки в html?

 

А что не так, и почему у вас непонятное для вас поведение - нужно смотреть изнутри сайта

Надіслати
Поділитися на інших сайтах

что такое списки в html?

Как оформляются списки в html?

 

А что не так, и почему у вас непонятное для вас поведение - нужно смотреть изнутри сайта

Поправил 2 файлика в темке oxy.

Добавил <br/> в product.tpl и стрелочки на картинке с товаром (предыдущий\следующий) опустил на 20 пикселей ниже и стало все ок. )

Надіслати
Поділитися на інших сайтах


  • 2 weeks later...

Наверно как-то так, мод проверяет во всх директориях шаблона tpl-ки и если находит то меняет в них код крошек на нужный. На стандартном шабе работает, на нестандартном, может offset придется поправить.

Без  error="skip" работать не будет

На примере от Einshtein

ПыСы: В теме есть скрипт, но он мне не нравится, ибо не универсально

<?xml version="1.0" encoding="UTF-8"?>
<modification>
    <id>breadcrumbs</id>
    <version>1.0</version>
    <vqmver>2.X</vqmver>
    <author>polarnik</author>
    <file path="catalog/view/theme/*/template/*/" name="*.tpl">
        <operation error="skip">
            <search position="replace" offset="2"><![CDATA[
            <?php foreach ($breadcrumbs as $breadcrumb) { ?>
            ]]></search>
            <add><![CDATA[
			<?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 } ?>
            ]]></add>
        </operation>
    </file>
</modification>

breadcrumbs.xml

  • +1 1
Надіслати
Поділитися на інших сайтах

респект! Работает как на дефолтной, так и на некоторых не дефолтных темах
Жаль плюсик жмакнуть не могу, сделайте это кто-нибудь за меня :)

Надіслати
Поділитися на інших сайтах


респект! Работает как на дефолтной, так и на некоторых не дефолтных темах

Жаль плюсик жмакнуть не могу, сделайте это кто-нибудь за меня :)

Выложил как модуль, пускай люди отписываются где не работает, буду править чтоб скачать да поставить и с шаблоном не париться

Надіслати
Поділитися на інших сайтах

Выложил как модуль, пускай люди отписываются где не работает, буду править чтоб скачать да поставить и с шаблоном не париться

в некоторых шаблонах, особенно костумных, для крошек используюется отдельный контроллер. Считаю это правильным и удобным, так как исправлять приходится только 1 файл, а в шаблоне выводится только переменная. Надеюсь ОС когда-нибудь дойдет до того, чтобы так было по дефолту

Надіслати
Поділитися на інших сайтах


Может найдётся Учитель для полных Чайников и подскажет куда нужно зайти и в каких файлах провести эти "Магические действия"

Вкмод же. А чтоб адаптировать, смотрите файл category.tpl или product.tpl или другой да даптируете

Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.