Skip to main content
Здесь вы можете свободно общаться на русском языке. Просим отнестись с пониманием к тому, что мы не разговариваем на этом языке и не можем осуществлять поддержку на нем.

Тулбар навигации оформления заказа

More
10 years 8 months ago - 10 years 8 months ago #225628 by xtrmutor
-- HikaShop version -- : 2.6.0
-- Joomla version -- : 3.4.8
-- PHP version -- : 5.4

Всем привет!

Поздравляю с наступившим Новым годом! :)

Вдруг кому пригодится ;)

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

Видео 1

ИМХО вообще переход к следующему пункту по тулбару как-то не правльно. :blush:
Как решил:
Открываем step.php там есть условия для тулбара:
1. вкл. ссылку или нет
2. текущий пункт
3. выполненый пункт
Code:
if (count($this->steps) > $this->step+1) $link=true; foreach($this->steps as $k => $step){ $step=explode('_',trim($step)); $step_name = reset($step); if($this->display_checkout_bar==2 && $step_name=='end'){ continue; } $class = ''; $badgeClass = ''; if($k == $this->step){ $already = false; $class .= ' hikashop_cart_step_current'; $badgeClass = 'info'; } if($already){ $class .= ' hikashop_cart_step_finished'; $badgeClass = 'success'; }

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

Правила по умолчанию:
Code:
<div class="hikashop_cart_step<?php echo $class;?>"> <span><?php if($k == $this->step || empty($link)){ echo JText::_('HIKASHOP_CHECKOUT_'.strtoupper($step_name)); }else{ ?> <a href="<?php echo hikashop_completeLink('checkout&task=step&step='.$k.$url_itemid);?>"> <?php echo JText::_('HIKASHOP_CHECKOUT_'.strtoupper($step_name));?> </a> <?php } ?></span> </div><?php

Добавим еще одно условие, тем самым выделим все пункты не завершенные и не текущий:
Code:
<div class="hikashop_cart_step<?php echo $class;?>"> <span><?php if($k == $this->step || empty($link)){ echo JText::_('HIKASHOP_CHECKOUT_'.strtoupper($step_name)); }elseif ($already){ ?> <a href="<?php echo hikashop_completeLink('checkout&task=step&step='.$k.$url_itemid);?>"> <?php echo JText::_('HIKASHOP_CHECKOUT_'.strtoupper($step_name));?> </a> <?php }else{ echo JText::_('HIKASHOP_CHECKOUT_'.strtoupper($step_name)); } ?></span> </div><?php

Итого получаем следующее, пациент не может переходить по тулбару вперед, но может возвращаться если к примеру захочет что-то изменить.

Видео 2

Так как сейчас авторизация через сс практически обязательна, хотелось бы чтобы разработчики озадачились данным вопросом в новом релизе.
Last edit: 10 years 8 months ago by xtrmutor.

Please Log in or Create an account to join the conversation.

Moderators: progreccor
Time to create page: 0.147 seconds
Powered by Kunena Forum