Jump to content
Sign in to follow this  
Avox

Редактирование Корзины Покупок

Recommended Posts

Всем доброго времени суток.
У меня стал вопрос изменить внешний вид корзины на главной странице.

<div class="btn-group" id="shopping_cart">
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown"> 
<i class="typcn typcn-shopping-cart"></i> 
<span class="title"> Корзина Покупок</span> 
<span class="font1">Товаров: 0 - (0.00 грн)</span> 
</button>
<div class="dropdown-menu">
<?php echo $cart; ?>
</div>
</div>

Интересует, как прикрутить: 

<div class="btn-group" id="shopping_cart">
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
<i class="typcn typcn-shopping-cart"></i> 
<span class="title"> Корзина Покупок</span> 
<span class="font1"><?php echo $text_items; ?></span>
</button>
<div class="dropdown-menu">
<?php echo $cart; ?>
</div>
</div>
 

При вот такой замене получаю:

Notice: Undefined variable: text_items in /home/vol2_7/cuccfree.com/cucch_15428377/htdocs/catalog/view/theme/default2/template/common/header.tpl on line 153

 

 Почему php машина ругается на : <span class="font1"><?php echo $text_items; ?></span>  ?
Подскажите как исправить. 
Зарание большое спасибо!

 

Share this post


Link to post
Share on other sites

Открыть контроллер модуля корзины и поискать там text_items, может станет понятней.
 
catalog\controller\module\cart.php

$this->data['text_items'] = sprintf($this->language->get('text_items'), $this->cart->countProducts() + (isset($this->session->data['vouchers']) ? count($this->session->data['vouchers']) : 0), $this->currency->format($total));

Share this post


Link to post
Share on other sites

 

Открыть контроллер модуля корзины и поискать там text_items, может станет понятней.

 

catalog\controller\module\cart.php

$this->data['text_items'] = sprintf($this->language->get('text_items'), $this->cart->countProducts() + (isset($this->session->data['vouchers']) ? count($this->session->data['vouchers']) : 0), $this->currency->format($total));

Забавно то, что при выводе в cart.tpl ошибок нет. В header.tpl ругается.

Share this post


Link to post
Share on other sites

Ещё раз внимательно прочитать сообщение выше.

Share this post


Link to post
Share on other sites

Ещё раз внимательно прочитать сообщение выше.

Я посмотрел. Код полностью соответствует моему.

Возможно беда в 

if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/cart.tpl')) {
$this->template = $this->config->get('config_template') . '/template/module/cart.tpl';
} else {
$this->template = 'default/template/module/cart.tpl';
}

PS. Я с php далеко не очень дружу. 

Добавление строки:

} else {
$this->template = 'default/template/module/cart.tpl';
$this->template = 'default/template/common/header.tpl';
}

Проблемы не решает.

Share this post


Link to post
Share on other sites
Я посмотрел. Код полностью соответствует моему.

 

:ugeek: No coments.

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

написано же в ошибке, не определена переменная в хидере. при чем тут карт? 

Для того что бы понять чего не хватает в хидере.

Share this post


Link to post
Share on other sites

Для того что бы понять чего не хватает в хидере.

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

Share this post


Link to post
Share on other sites

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

 в начале топика читаем код ошибки

Notice: Undefined variable: text_items in /home/vol2_7/cuccfree.com/cucch_15428377/htdocs/catalog/view/theme/default2/template/common/header.tpl on line 153

следовательно  в данный момент тс пытается прикрутить в хидер  и это не моя прихоть.

 

 

 1

 

это количество телодвижений,которые нужны для добавления в контроллер хидера той строки ,что я написал уже в первом сообщении.

 

 

только для чего всё это если сама корзина подключается в хидер одной строкой 

<?php echo $cart; ?>

а все телодвижения с классами уже в тплке самой корзины .

Share this post


Link to post
Share on other sites

 в начале топика читаем код ошибки

Notice: Undefined variable: text_items in /home/vol2_7/cuccfree.com/cucch_15428377/htdocs/catalog/view/theme/default2/template/common/header.tpl on line 153

следовательно  в данный момент тс пытается прикрутить в хидер  и это не моя прихоть.

 

 

это количество телодвижений,которые нужны для добавления в контроллер хидера той строки ,что я написал уже в первом сообщении.

 

 

только для чего всё это если сама корзина подключается в хидер одной строкой 

<?php echo $cart; ?>

а все телодвижения с классами уже в тплке самой корзины .

<div class="dropdown-menu">
<?php echo $cart; ?>
</div>

Это выпадающее меню. Которое подключается после нужной мне строки. Т.е миникорзина.

По делу:

В header.php

Дописал код

// Totals
$this->load->model('setting/extension');


$total_data = array(); 
$total = 0;
$taxes = $this->cart->getTaxes();


// Display prices
if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) {
$sort_order = array(); 


$results = $this->model_setting_extension->getExtensions('total');


foreach ($results as $key => $value) {
$sort_order[$key] = $this->config->get($value['code'] . '_sort_order');
}


array_multisort($sort_order, SORT_ASC, $results);


foreach ($results as $result) {
if ($this->config->get($result['code'] . '_status')) {
$this->load->model('total/' . $result['code']);


$this->{'model_total_' . $result['code']}->getTotal($total_data, $total, $taxes);
}


$sort_order = array(); 


foreach ($total_data as $key => $value) {
$sort_order[$key] = $value['sort_order'];
}


array_multisort($sort_order, SORT_ASC, $total_data); 
} 
}


$this->data['totals'] = $total_data;


$this->data['heading_title'] = $this->language->get('heading_title');


$this->data['text_items'] = sprintf($this->language->get('text_items'), $this->cart->countProducts() + (isset($this->session->data['vouchers']) ? count($this->session->data['vouchers']) : 0), $this->currency->format($total));

Если прописать просто

$this->data['text_items'] = sprintf($this->language->get('text_items'), $this->cart->countProducts() + (isset($this->session->data['vouchers']) ? count($this->session->data['vouchers']) : 0), $this->currency->format($total));

Проблема не решается. 

НО, даже после копипаста всего масива ошибка пропадает, но работать не хочет.

Share this post


Link to post
Share on other sites

Хз что ещё ответить.Корзина в хидер подключается  той самой  стройкой <?php echo $cart;?> и куда её там запихать уже не имеет значение.

Share this post


Link to post
Share on other sites

Хз что ещё ответить.Корзина в хидер подключается  той самой  стройкой <?php echo $cart;?> и куда её там запихать уже не имеет значение.

<html dir="<?php echo $direction; ?>" lang="<?php echo $lang; ?>">
    <head>        

<meta charset="UTF-8" />
        <title><?php echo $title; ?></title>
       <?php if ($cart) { ?>
        <link href="<?php echo $cart;?> ?>" rel="$cart" />
        <?php } ?>
    </head>

Так ты имеешь ввиду?

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

Нашелся)

 

cart.php

header.php

Share this post


Link to post
Share on other sites

И что я должен в двух этих портянках лицезреть? Замысел который в итоге будет в шапке неизвестного мне магазина с неизвестными функциями корзины в неизвестном месте? Шар лучше пришли магический.Свой так и не нашёл.

Share this post


Link to post
Share on other sites

все что ты хочешь сделать с корзиной засунь во вьюху cart.tpl в хидере выведи корзину <?php echo $cart; ?>

если тебе разные блоки корзины надо по "разным углам распихать" то используй css стили

Share this post


Link to post
Share on other sites

И что я должен в двух этих портянках лицезреть? Замысел который в итоге будет в шапке неизвестного мне магазина с неизвестными функциями корзины в неизвестном месте? Шар лучше пришли магический.Свой так и не нашёл.

Совсем не понятный элемент шапки:

                            <div class="btn-group" id="shopping_cart">
                                <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown"> 
<i class="typcn typcn-shopping-cart"></i> 
<span class="title"> Корзина Покупок</span> 
<span class="font1">Товаров: 0 - 0.00(грн)</span>
</button>
                                <div class="dropdown-menu">
                                    <?php echo $cart; ?>
                                </div>
                            </div>

Совсем понятная задача:

                            <div class="btn-group" id="shopping_cart">
                                <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown"> 
<i class="typcn typcn-shopping-cart"></i> 
<span class="title"> Корзина Покупок</span> 
<span class="font1"><?php echo $text_items; ?></span>
</button>
                                <div class="dropdown-menu">
                                    <?php echo $cart; ?>
                                </div>
                            </div>

мб ты меня немного не понимаешь. 

<?php echo $text_items; ?> выводит кол-во товара и сумарную цену.

пример 5 500

Подключение его через header.php не удается. Коды выше.

Share this post


Link to post
Share on other sites

все что ты хочешь сделать с корзиной засунь во вьюху cart.tpl в хидере выведи корзину <?php echo $cart; ?>

если тебе разные блоки корзины надо по "разным углам распихать" то используй css стили

Выводится на 2 строчки ниже:

                                <div class="dropdown-menu">
                                    <?php echo $cart; ?>
                                </div>
и все работает. 

Это вывод "мини" корзины. if курсор на объекте.

post-688491-0-73684300-1414562396_thumb.jpg

Share this post


Link to post
Share on other sites

Да уж.

 

А что мешает сделать как написал lexxkrt ?

 

И не лезть ни в какие контроллеры а всё это сделать стилями?

Share this post


Link to post
Share on other sites

Да уж.

 

А что мешает сделать как написал lexxkrt ?

 

И не лезть ни в какие контроллеры а всё это сделать стилями?

Есть сайт:

http://essence-perfumum.ua/

Меня интересует то, как у него сделана корзина.

Хочу спилить ее полностью. Точь в точь.

Через CSS добился того, что не при клике, а при нахождении курсора на объекте выпадает "мини корзина" .

Но вопрос который не могу решить заключается ИМЕННО В СПЕЦИФИКЕ ДВИЖКА, а не решений CSS+HTML+JS и тд. Стоял конкретный вопрос, не методик изобретения велосипеда по путешествию около большой луны, а конкретно как ВНЕДРИТЬ оператор $text_items; в header.tpl . У человека который делал там - получилось.

При прописывании его в cart.tpl все корректно отображается.

НО в header.tpl ошибка.

Повторюсь, подскажи пожалуйста как внедрить его с card.php в header.php

Конкретно понимаю, что 

$this->data['text_items'] = sprintf($this->language->get('text_items'), $this->cart->countProducts() + (isset($this->session->data['vouchers']) ? count($this->session->data['vouchers']) : 0), $this->currency->format($total));

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

Share this post


Link to post
Share on other sites

Есть сайт:

http://essence-perfumum.ua/

Меня интересует то, как у него сделана корзина.

Хочу спилить ее полностью. Точь в точь.

а чем эта корзина отличается от оригинальной опенкартовской, за исключением стилей?

Share this post


Link to post
Share on other sites
Через CSS добился того, что не при клике, а при нахождении курсора на объекте выпадает "мини корзина" .

 

 

для этого нужно всего одно значение в common.js сменить  с click например на hover или mouseover. 

 

А вот где там в примере  вторая  "зашифрованная корзина" в выпадающем списке в упор не вижу.

Share this post


Link to post
Share on other sites

Но вопрос который не могу решить заключается ИМЕННО В СПЕЦИФИКЕ ДВИЖКА, а не решений CSS+HTML+JS и тд. Стоял конкретный вопрос, не методик изобретения велосипеда по путешествию около большой луны, а конкретно как ВНЕДРИТЬ оператор $text_items; в header.tpl . У человека который делал там - получилось.

неправда там чистый опенкарт, никаких изменений нет, посмотри код, вся корзина в контейнере <div id="cart">. чтобы открывалось по щелчку, а не по наведению используй javascript, или bootstrap как там сделано

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.