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

Как выдернуть ссылку из хлебных крошек?


Recommended Posts

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

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


8 минут назад, elen11 сказал:

на тройке не работает

у синтаксис конечно другой. .речь о том, чтобы не из крошек дергать. методологический пример, так сказать )

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

15 минут назад, anboza сказал:

у синтаксис конечно другой. .речь о том, чтобы не из крошек дергать. методологический пример, так сказать )

надо как раз из крошек. Есть конструкция вида , она обрезает последний пункт крошек. А как правильно прописать условие именно на предпоследний элемент? Вопрос именно синтаксиса)

{% for key, breadcrumb in breadcrumbs %}
{% if key +1 < breadcrumbs|length %}
    <li><a href="{{ breadcrumb.href }}">{{ breadcrumb.text }}</a></li>    
{% endif %}
{% endfor %}

 

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


Цитата

 

Не стыдно?

 

// Set the last category breadcrumb - а это не о чем не говорит, да?

 

 

не стыдно. Что проще прописать условие или куча кода, который вы прислали?

Змінено користувачем elen11
Надіслати
Поділитися на інших сайтах


9 минут назад, elen11 сказал:

Что проще прописать условие или куча кода, который вы прислали?

Ну так определите переменную в контроллере равную бредкрамбс и сделайте с ней 2 раза array_pop и выведите её в шаблон.

 

И куча кода там не при чем, вам в переменную нужно было добавить только:

'text' => $category_info['name'],
'href' => $this->url->link('product/category', 'language=' . $this->config->get('config_language') . '&path=' . $this->request->get['path'] . $url)
Надіслати
Поділитися на інших сайтах

8 минут назад, optimlab сказал:

Ну так определите переменную в контроллере равную бредкрамбс и сделайте с ней 2 раза array_pop и выведите её в шаблон.

Уважаемый человек, мне как получайнику в опенкарте Ваши слова что горох об стену) Что в саму переменную включить я понимаю, а в силу отсутствия более глубоких познаний, объявить по всей видимости правильно не получается. Я могу работать с движком, править, но самой переменную добавить это уже вышка для меня) Поэтому было принято искать более простые решения. Мне вот инструкция выше пригодилась очень. Она рабочая и гениально простая.

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


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

{% if key +2 == breadcrumbs|length %}
    <li><a href="{{ breadcrumb.href }}">{{ breadcrumb.text }}</a></li>    
{% endif %}
{% endfor %}

 

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


@elen11 очень интересно на итоговое решение посмотреть, это во первых.

А во вторых, за расчеты в шаблоне, которые можно сделать в контроллере, я бы вас уволил.

 

Таким образом вы, как новичок, формируете у себя неправильную технику кодирования...

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

On 6/30/2018 at 7:06 PM, elen11 said:

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


{% if key +2 == breadcrumbs|length %}
    <li><a href="{{ breadcrumb.href }}">{{ breadcrumb.text }}</a></li>    
{% endif %}
{% endfor %}

 

чем не устраивает ответ данный вам на стековерфлоу

{{ breadcrumbs[breadcrumbs|length-2].text }}

 

ну или с условием

  {% if breadcrumbs|length > 2 %}
  <div>входит в категорию {{ breadcrumbs[breadcrumbs|length-2].text }}</div>
  {% endif %}
 

Змінено користувачем lexxkrt
Надіслати
Поділитися на інших сайтах


  • 3 weeks later...
В 02.07.2018 в 15:02, optimlab сказал:

@elen11 очень интересно на итоговое решение посмотреть, это во первых.

А во вторых, за расчеты в шаблоне, которые можно сделать в контроллере, я бы вас уволил.

 

Таким образом вы, как новичок, формируете у себя неправильную технику кодирования...

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

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


В 03.07.2018 в 09:50, lexxkrt сказал:

чем не устраивает ответ данный вам на стековерфлоу

{{ breadcrumbs[breadcrumbs|length-2].text }}

 

ну или с условием

  {% if breadcrumbs|length > 2 %}
  <div>входит в категорию {{ breadcrumbs[breadcrumbs|length-2].text }}</div>
  {% endif %}
 

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

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


23 hours ago, elen11 said:

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

https://ru.stackoverflow.com/questions/848591/Как-вывести-предпоследний-элемент-массива-twig-opencart

Получение циклом элемента массива с известным индексом как бы не есть хорошо. Работает, Вас устраивает, ну и ладно.

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


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

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

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

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

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

Вхід

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

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

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

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

Important Information

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