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

Модуль Модуль Simple - упрощенная регистрация и заказ [Поддержка]


Recommended Posts

Нет, не правильно. Если модуль доставки "зафиксирует" рассчитанную стоимость, то после перегрузки страницы подтянутся все "тоталы". Если нет - значит он не совместим с simple.

Тогда непонятно, как зафиксировать для стандартной фиксированной стоимости доставки новую цену?

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


Тогда непонятно, как зафиксировать для стандартной фиксированной стоимости доставки новую цену?

Для фиксированной доставки - стоимость фиксирована. "Новую цену" - в терминах фиксированной доставки это нонсенс какой-то. Обращайтесь к разработчику вашего модуля "фиксированных новых цен"

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

Тогда непонятно, как зафиксировать для стандартной фиксированной стоимости доставки новую цену?

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

обновлять так

 

if (isset($this->session->data['shipping_methods']['my_method']) && isset($this->session->data['shipping_methods']['my_method']['quote'])) {

  $this->session->data['shipping_methods']['my_method']['quote']['my_method'] = $new_info;

}

if (isset($this->session->data['shipping_method']) && $this->session->data['shipping_method']['code'] == 'my_method.my_method') {

  $this->session->data['shipping_method'] = $new_info;

}

 

после этого на стороне клиента делать обновление только строки подитога

 

$.get('index.php?route=checkout/simplecheckout_cart', function(data){

        $('.simplecheckout-cart-total[id^=total_]').each(function(){

            $(this).html($(data).find('#'+$(this).attr('id')).html());

        });

    });

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

Для фиксированной доставки - стоимость фиксирована. "Новую цену" - в терминах фиксированной доставки это нонсенс какой-то. Обращайтесь к разработчику вашего модуля "фиксированных новых цен"

Нет никакого разработчика модуля. Это даже не модуль, а стандартный функционал в "Доставке" движка OpenCart. Этот же функционал поддерживается и модулем Simple, т.к. заданное значение поля flat_cost (стоимость доставки) в таблице oc_setting автоматически плюсуется в total при "подбое цены".

 

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

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


Выше же deeman написал - с помощью jquery найти нужную строку в "тотале" и заменить значение. Одновременно в модуль через ajax передать новое значение цены доставки, чтобы в случае перезагрузки там уже было новое значение.

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

Выше же deeman написал - с помощью jquery найти нужную строку в "тотале" и заменить значение. Одновременно в модуль через ajax передать новое значение цены доставки, чтобы в случае перезагрузки там уже было новое значение.

С изменением строки через Jquery проблем нет. Проблема в том, что я не могу разобраться, в какой файл контроллера делать AJAX вызов, и какую перменную менять. Понятно, что форма с подсчётом цены формируется в CheckoutSimpleCheckoutSummary, там же есть некий массив $total_data в котором хранятся данные для tpl. Вопрос в том, что менять нужно первичный источник этой цены, на который ориентируется модуль при нажатии на подтверждение заказа. 

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


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

 

http://rghost.ru/68BbszCh4

 

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

Здравствуйте. По вопросы работы модуля Яндекс.Касса и Simple. В новой версии Яндекс.Кассы https://github.com/yandex-money/yandex-money-cms-opencart в файле yandexmoney.tpl класс buttons убрали, в способах оплаты Simpla все равно появляется только один способ оплаты - Яндекс Деньги.

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


Здравствуйте. По вопросы работы модуля Яндекс.Касса и Simple. В новой версии Яндекс.Кассы https://github.com/yandex-money/yandex-money-cms-opencart в файле yandexmoney.tpl класс buttons убрали, в способах оплаты Simpla все равно появляется только один способ оплаты - Яндекс Деньги.

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

и опять же я давно на базе их модулей сделал моды, которые выводят информацию сразу же перед оплатой и высылаю их тем, кто хотя бы задал этот вопрос, просто не выкладываю и не афиширую это, потому что уже на едосте так обжёгся, стоило переделать их стандартный модуль, чтобы он стал человечнее и я вдруг стал ответственен за все по едосту. точно так же этот модуль яндекса может не работать сам из-за своих настроек, настроек сервера или проблем у яндекса, но не хочу, чтобы из-за 10 строчек переделки (для удобства) люди по незнанию и нежеланию вникнуть в ситуацию вешали всех собак на меня (как с этими же .buttons)

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

С изменением строки через Jquery проблем нет. Проблема в том, что я не могу разобраться, в какой файл контроллера делать AJAX вызов, и какую перменную менять. Понятно, что форма с подсчётом цены формируется в CheckoutSimpleCheckoutSummary, там же есть некий массив $total_data в котором хранятся данные для tpl. Вопрос в том, что менять нужно первичный источник этой цены, на который ориентируется модуль при нажатии на подтверждение заказа. 

нет, вы не в ту сторону думаете. модуль доставки возвращает данные о доставке, эти данные кладутся в

$this->session->data['shipping_methods']

$this->session->data['shipping_method']

а уже модули "учитывать в заказе", в частности модуль "доставка"

/catalog/model/total/shipping.php

берет данные из сессии и плюсует их к общей сумме заказа и выводит данные для строки подитога

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

в моем модуле при этом менять ничего не нужно

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

нет, вы не в ту сторону думаете. модуль доставки возвращает данные о доставке, эти данные кладутся в

$this->session->data['shipping_methods']

$this->session->data['shipping_method']

а уже модули "учитывать в заказе", в частности модуль "доставка"

/catalog/model/total/shipping.php

берет данные из сессии и плюсует их к общей сумме заказа и выводит данные для строки подитога

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

в моем модуле при этом менять ничего не нужно

Набросал простенький контроллер

<?php
class ControllerCustomsChangecost extends Controller {
	public function index() 
	{

		if($this->request->server['REQUEST_METHOD'] == 'POST')
		{
			$new_cost = $this->request->post['flat_cost'];
			
			$this->session->data['shipping_methods']['flat']['quote']['flat']['cost'] = $new_cost;
			$this->session->data['shipping_method']['cost'] = $new_cost;
			
			//$this->model_setting_setting->editSettingValue('flat','flat_cost',$this->request->post['flat_cost']);
			//$this->request->post['flat_cost']
		}

		//print_r($this->session->data['shipping_method']['cost']);
		print_r( $this->session->data['shipping_method']) ;
		print_r( $this->session->data['shipping_methods']['flat']['quote']['flat']) ;
		//echo "12";
		
		
		//$this->response->setOutput($this->load->view('default/template/customs/ralcatalog.tpl', $data));
	}
}
?>

При рассчете новой цены(по клику на карте), вызываю AJAXом этот контроллер, передавая через POST новую цену, и меняю её в указанных выше переменных. Проверяю прямым обращением к контроллеру, переменные сессии меняются в обоих массивах.

 

Но после подтверждения оформления заказа цена все-равно остаётся старой. Где я что-то смог упустить?

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


Набросал простенький контроллер

При рассчете новой цены(по клику на карте), вызываю AJAXом этот контроллер, передавая через POST новую цену, и меняю её в указанных выше переменных. Проверяю прямым обращением к контроллеру, переменные сессии меняются в обоих массивах.

Но после подтверждения оформления заказа цена все-равно остаётся старой. Где я что-то смог упустить?

в самом модуле доставки при обращении к нему тоже берите последнюю сессионную стоимость и возвращайте в ответе

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

в самом модуле доставки при обращении к нему тоже берите последнюю сессионную стоимость и возвращайте в ответе 

так и сделал, теперь изменённая цена учитывается, но только после обновления страницы с заказом, либо если вызвать reloadAll. 

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


так и сделал, теперь изменённая цена учитывается, но только после обновления страницы с заказом, либо если вызвать reloadAll. 

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

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

доброго дня,

подскажите, пожалуйста, есть такая проблема:

есть способы доставки, зависящие от способа оплаты

http://prntscr.com/7sx484

в конкретном примере, если выбрать Наложенный платеж - Пропадет Доставка до транспортной

однако, если затем выбрать другой способ оплаты - этот метод доставки не возвращается

как его возвращать?

понимаю, что нужно перегружать ajax при кликах на других способах оплаты, но как это делать я не знаю

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


Всем привет, скачал модуль версии 4.3.21

У меня стоит опенкарт 1.5.6.4

Шаблон Moneymaker

Хостинг Jino

PHP 5.4

Ioncube  есть

 

Сделал все по инструкции, а именно

 

1) Сделайте резервную копию /system/library/url.php

2) Скопируйте подкаталоги из папки "Upload" на Ваш сервер

3) Если Вы используете не дефолтную тему, то скопируйте файлы из upload/catalog/view/theme/default/ в каталог catalog/view/theme/ВАША_ТЕМА/
Затем, если каталог с названием вашей темы есть в каталоге /templates, то скопируйте содержимое каталога в catalog/view/theme/ВАША_ТЕМА/
Таким образом Вы скопируете файлы интеграции с темой и можете пропустить пункт 7.

Все сделал, захожу в админку>модули и вижу что нет модуля((
 

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


...

 

Значит не то заливаете или не туда

Содержимое upload (не всю целиком) в корень сайта (где лежит основной index.php)

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

доброго дня,

подскажите, пожалуйста, есть такая проблема:

есть способы доставки, зависящие от способа оплаты

http://prntscr.com/7sx484

в конкретном примере, если выбрать Наложенный платеж - Пропадет Доставка до транспортной

однако, если затем выбрать другой способ оплаты - этот метод доставки не возвращается

как его возвращать?

понимаю, что нужно перегружать ajax при кликах на других способах оплаты, но как это делать я не знаю

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

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

На странице регистрации после заполнении форм, нажимаю "Далее", получаю белый экран. Здесь - pikformi.ru. Модуль оплачивал. Версия 3.8.3

дело не в модуле, можете убедиться со стандартной регистрацией

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

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

нет, это относится ко всем методам оплаты

наложенный платеж и оплата наличными при доставке - это модуль Оплата +

остальные методы оплаты - это все разные модули

модуль Чек - это изначально встроенный в CMS метод

http://joxi.ru/nAy8GJyfnMyZ2Z

 

настройки Симпл для способа доставки - Транспортная компания

http://joxi.ru/5mdMLBDTBVkN21

 

при этом, по клику по Наложенному платежу (Оплата+) - доставка до ТК исчезает

а при выборе Наличными (тоже Оплата +) - не исчезает, как и на других методах оплаты, где ТК показываться не должна

т.е. именно Симпл в данном случае отрабатывает избирательно

помогите, пожалуйста, разобраться, почему

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


///

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

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

нет, это относится ко всем методам оплаты

наложенный платеж и оплата наличными при доставке - это модуль Оплата +

остальные методы оплаты - это все разные модули

модуль Чек - это изначально встроенный в CMS метод

http://joxi.ru/nAy8GJyfnMyZ2Z

 

настройки Симпл для способа доставки - Транспортная компания

http://joxi.ru/5mdMLBDTBVkN21

 

при этом, по клику по Наложенному платежу (Оплата+) - доставка до ТК исчезает

а при выборе Наличными (тоже Оплата +) - не исчезает, как и на других методах оплаты, где ТК показываться не должна

т.е. именно Симпл в данном случае отрабатывает избирательно

помогите, пожалуйста, разобраться, почему

 

проблема решена:

 

в vqmod файле модуля оплаты Оплата+ по совету deeman я полностью закомментил изменения файла simplecheckout_payment.tpl и вроде пока все заработало

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


deeman, пожалуйста измените ссылку на эту тему Дополнения  → Модули  → Модуль Simple - упрощенная регистрация и заказ

Ссылка, которая там указана не работает =)

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


в таком случае вам нужно создавать новый файл header2.tpl, где вырезать ненужное в теге body

и в файле /catalog/controller/common/header.php

подключать его (header2.tpl) если текущий роут равен checkout/simplecheckout

 

Попробовал, не получается.

После этих манипуляций весь движок пытается "подхватить" header2.tpl либо страница оформления заказа отображается совсем ужасно

 

ocstore 1.5.5.1.2

мой файл header2.tpl

 

<!DOCTYPE html>

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

<head>

<meta charset="UTF-8" />

<title><?php echo $title; if (isset($_GET['page'])) { echo " - ". ((int) $_GET['page'])." ".$text_page;} ?></title>

<base href="<?php echo $base; ?>" />

<?php if ($description) { ?>

<meta name="description" content="<?php echo $description; if (isset($_GET['page'])) { echo " - ". ((int) $_GET['page'])." ".$text_page;} ?>" />

<?php } ?>

<?php if ($keywords) { ?>

<meta name="keywords" content="<?php echo $keywords; ?>" />

<?php } ?>

<meta property="og:title" content="<?php echo $title; if (isset($_GET['page'])) { echo " - ". ((int) $_GET['page'])." ".$text_page;} ?>" />

<meta property="og:type" content="website" />

<meta property="og:url" content="<?php echo $og_url; ?>" />

<?php if ($og_image) { ?>

<meta property="og:image" content="<?php echo $og_image; ?>" />

<?php } else { ?>

<meta property="og:image" content="<?php echo $logo; ?>" />

<?php } ?>

<meta property="og:site_name" content="<?php echo $name; ?>" />

<?php if ($icon) { ?>

<link href="<?php echo $icon; ?>" rel="icon" />

<?php } ?>

<?php foreach ($links as $link) { ?>

<link href="<?php echo $link['href']; ?>" rel="<?php echo $link['rel']; ?>" />

<?php } ?>

<link rel="stylesheet" type="text/css" href="catalog/view/theme/coloring/assets/bootstrap/css/bootstrap.min.css" />

<link rel="stylesheet" type="text/css" href="catalog/view/theme/coloring/stylesheet/stylesheet_new.css" />

<link href="http://fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,600italic,700italic,700,300,600,400&subset=cyrillic-ext,latin-ext" rel="stylesheet" type="text/css">

<?php foreach ($styles as $style) { ?>

<link rel="<?php echo $style['rel']; ?>" type="text/css" href="<?php echo $style['href']; ?>" media="<?php echo $style['media']; ?>" />

<?php } ?>

<script type="text/javascript" src="https://code.jquery.com/jquery-2.1.4.min.js"></script>

<script type="text/javascript" src="catalog/view/theme/coloring/assets/bootstrap/js/bootstrap.min.js"></script>

<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css">

<script type="text/javascript" src="catalog/view/theme/coloring/assets/common.js"></script>

<script type="text/javascript" src="catalog/view/javascript/jquery/ui/jquery-ui-1.8.16.custom.min.js"></script>

<script type="text/javascript" src="catalog/view/theme/coloring/assets/jquery.dotdotdot.min.js"></script>

<?php foreach ($scripts as $script) { ?>

<script type="text/javascript" src="<?php echo $script; ?>"></script>

<?php } ?>

<!--[if IE 7]>

<link rel="stylesheet" type="text/css" href="catalog/view/theme/coloring/stylesheet/ie7.css" />

<![endif]-->

<!--[if lt IE 7]>

<link rel="stylesheet" type="text/css" href="catalog/view/theme/coloring/stylesheet/ie6.css" />

<script type="text/javascript" src="catalog/view/javascript/DD_belatedPNG_0.0.8a-min.js"></script>

<script type="text/javascript">

DD_belatedPNG.fix('#logo img');

</script>

<![endif]-->

<?php if ($stores) { ?>

<script type="text/javascript"><!--

$(document).ready(function() {

<?php foreach ($stores as $store) { ?>

$('body').prepend('<iframe src="<?php echo $store; ?>" style="display: none;"></iframe>');

<?php } ?>

});

//--></script>

<?php } ?>

<?php echo $google_analytics; ?>

<meta name="viewport" content="width=device-width, initial-scale=1">

<link rel="stylesheet" type="text/css" href="/catalog/view/javascript/jquery/ui/themes/base/jquery.ui.autocomplete.css" />

<link rel="stylesheet" type="text/css" href="/catalog/view/javascript/jquery/ui/themes/base/jquery.ui.theme.css" />

</head>

<body>

<header>

<div id="top">

  <div class="container text-center text-right-md" >

  

   <div class="pull-left">

    <div class="inline-block" style="font-size: 14px;">

     <div class="boost-ajax" data-route="module/geoip"></div>

    </div>

    <div class="inline-block">

     <?php echo $language; ?>

    </div>

    <div class="inline-block">

     <?php echo $currency; ?>

    </div>

   </div>

  

  

   <div class="pull-right">

    <?php if (isset($xds_coloring_theme['as_cust_menu_item2']) & !empty($xds_coloring_theme['as_cust_menu_item2'])) { ?>

    <div class="btn-group">

     <button type="button" class="btn dropdown-toggle" data-toggle="dropdown">

      <i class="fa fa-support"></i><span class="hidden-sm hidden-xs">  Тех. подержка</span> <span class="caret"></span>

     </button>

     <ul class="dropdown-menu pull-right">

      <?php if (!empty($xds_coloring_theme['as_cust_menu_item2'])){ foreach ($xds_coloring_theme['as_cust_menu_item2'] as $key => $value) {$sort2[$key] = $value['sort'];} array_multisort($sort2, SORT_ASC, $xds_coloring_theme['as_cust_menu_item2']);} ?>

      <?php foreach ($xds_coloring_theme['as_cust_menu_item2'] as $item2) { ?>

      <li><a href="<?php echo $item2['link'][$lang_id]; ?>"><span><?php echo $item2['title'][$lang_id]; ?></span></a></li>

      <?php } ?>

     </ul>

    </div>

    <?php } ?>

    <div class="btn-group">

     <button type="button" class="btn dropdown-toggle" data-toggle="dropdown">

      <i class="glyphicon glyphicon-user"></i><span class="hidden-sm hidden-xs">  <?php echo $text_account; ?></span> <span class="caret"></span>

     </button>

     <ul class="dropdown-menu pull-right">

      <?php if ($logged) { ?>

      <?php echo $text_logged; ?>

      <?php } else { ?>

      <?php echo $text_welcome; ?>

      <?php } ?>

     </ul>

    </div>

   </div>

   <div class="btn-group">

    <!-- <a class="btn" href="<?php echo $wishlist; ?>" id="wishlist-total"><?php echo $text_wishlist; ?></a> -->

   </div>

   <div class="btn-group">

     <a class="btn" href="<?php echo $this->url->link('product/compare');?>" id="compare-total"><?php echo $product_compare_text; ?></a>

    

   </div>

  </div>

</div>

  <div class="container">

    <div class="row">

      <div class="col-sm-12 col-md-3">

        <div id="logo">

          <?php if ($logo) { ?>

      <a href="<?php echo $home; ?>"><img src="<?php echo $logo; ?>" title="<?php echo $name; ?>" alt="<?php echo $name; ?>" class="img-responsive" /></a>

          <?php } else { ?>

     <div class="btn-group btn-block">

      <button type="button" class="btn btn-link btn-block">

       <a href="<?php echo $home; ?>"><?php echo $name; ?></a>

      </button>

     </div>

          <?php } ?>

    </div>

      </div>

   <div class="col-sm-12 col-md-3 text-center text-left-md">

    <div id="phone">

     <div class="phone"><span class="glyphicon glyphicon-phone-alt icon"></span>  <?php echo $geoip_phone; ?></div>

    </div>

   </div>

   <div class="col-sm-12 col-md-6 text-center text-right-md">

    <?php if (isset($xds_coloring_theme['as_cust_menu_item']) & !empty($xds_coloring_theme['as_cust_menu_item'])) { ?>

    <div id="header-menu">

     <?php if (!empty($xds_coloring_theme['as_cust_menu_item'])){ foreach ($xds_coloring_theme['as_cust_menu_item'] as $key => $value) {$sort[$key] = $value['sort'];} array_multisort($sort, SORT_ASC, $xds_coloring_theme['as_cust_menu_item']);} ?>

     <?php foreach ($xds_coloring_theme['as_cust_menu_item'] as $item) { ?>

     <a class="btn" href="<?php echo $item['link'][$lang_id]; ?>"><span><?php echo $item['title'][$lang_id]; ?></span></a>

     <?php } ?>

    </div>

    <?php } ?>

   </div>

    </div>

  </div>

<div class="container">

  <div class="row menu-line">

   <div class="col-sm-12 col-md-7 col-md-push-3">

    <div id="search" class="input-group">

  

     <input type="text" name="search" value="<?php echo $search; ?>" placeholder="<?php echo $text_search; ?>" class="form-control" />

     <span class="input-group-btn">

      <button type="button" class="btn" id="search-button">

       <i class="glyphicon glyphicon-search"></i>

      </button>

     </span>

    </div>

   </div>

   <div class="col-sm-6 col-sm-push-6 col-md-2 col-md-push-3">

    <div class="boost-ajax" data-route="module/cart">

    <!--<div class="boost-ajax" data-route="module/popupcart_extended">-->

   </div> </div>

   <div class="col-sm-6 col-sm-pull-6 col-md-3 col-md-pull-9">

   <?php if ($categories) { ?>

    <nav id="menu" class="btn-group btn-block">

     <button type="button" class="btn btn-danger btn-block dropdown-toggle" data-toggle="dropdown">

      <i class="fa fa-bars"></i>

      <?php echo $catalog_text; ?>

     </button>

     <ul id="menu-list" class="dropdown-menu">

      <?php foreach ($categories as $category) { ?>

      <?php if ($category['children']) { ?>

      <li>

       <span class="pull-right toggle-child">

        <i class="fa fa-plus plus"></i>

        <i class="fa fa-minus minus"></i>

       </span>

       <a class="with-child" href="<?php echo $category['href']; ?>">

        <i class="fa fa-angle-right arrow"></i>

        <?php echo $category['name']; ?>

       </a>

       <ul class="child-box">

        <?php foreach ($category['children'] as $child) { ?>

        <li><a href="<?php echo $child['href']; ?>"><?php echo $child['name']; ?></a></li>

        <?php } ?>

       </ul>

      </li>

      <?php } else { ?>

      <li>

       <a href="<?php echo $category['href']; ?>"><?php echo $category['name']; ?></a>

      </li>

      <?php } ?>

      <?php } ?>

     </ul>

    </nav>

    <?php } ?>

   </div>

  </div>

</div>

<script>

  $(".child-box").hover(function() {$(this).parent().find('.with-child').toggleClass('hover');});

  $(".toggle-child").click(function() {$(this).toggleClass('open'); $(this).parent().find('.child-box').slideToggle(200);});

  $( '#menu-list li:has(ul)' ).doubleTapToGo();

  $('#search a').click(function(){

   $("#selected_category").val($(this).attr('id'));

   $('#change_category').html('<span class="category-name">' + $(this).html() + '</span> <span class="caret"></span>');

  });

</script>

</header>

 

А это файл /catalog/controller/common/header.php

<?php  

class ControllerCommonHeader extends Controller {

protected function index() {

     $geoip = $this->registry->get('geoip');

$this->data['geoip_phone'] = $geoip->getRule('phone');

  $this->data['title'] = $this->document->getTitle();

 

  if (isset($this->request->server['HTTPS']) && (($this->request->server['HTTPS'] == 'on') || ($this->request->server['HTTPS'] == '1'))) {

   $server = $this->config->get('config_ssl');

  } else {

   $server = $this->config->get('config_url');

  }

  $this->data['base'] = $server;

  $this->data['description'] = $this->document->getDescription();

  $this->data['keywords'] = $this->document->getKeywords();

  $this->data['links'] = $this->document->getLinks(); 

  $this->data['styles'] = $this->document->getStyles();

  $this->data['scripts'] = $this->document->getScripts();

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

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

  $this->data['google_analytics'] = html_entity_decode($this->config->get('config_google_analytics'), ENT_QUOTES, 'UTF-8');

  $this->data['name'] = $this->config->get('config_name');

 

  if ($this->config->get('config_icon') && file_exists(DIR_IMAGE . $this->config->get('config_icon'))) {

   $this->data['icon'] = $server . 'image/' . $this->config->get('config_icon');

  } else {

   $this->data['icon'] = '';

  }

 

  if ($this->config->get('config_logo') && file_exists(DIR_IMAGE . $this->config->get('config_logo'))) {

   $this->data['logo'] = $server . 'image/' . $this->config->get('config_logo');

  } else {

   $this->data['logo'] = '';

  } 

 

  $this->language->load('common/header');

  $this->data['og_url'] = (isset($this->request->server['HTTPS']) ? HTTPS_SERVER : HTTP_SERVER) . substr($this->request->server['REQUEST_URI'], 1, (strlen($this->request->server['REQUEST_URI'])-1));

  $this->data['og_image'] = $this->document->getOgImage();

 

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

  $this->data['text_wishlist'] = sprintf($this->language->get('text_wishlist'), (isset($this->session->data['wishlist']) ? count($this->session->data['wishlist']) : 0));

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

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

  $this->data['text_welcome'] = sprintf($this->language->get('text_welcome'), $this->url->link('account/login', '', 'SSL'), $this->url->link('account/register', '', 'SSL'));

  $this->data['text_logged'] = sprintf($this->language->get('text_logged'), $this->url->link('account/account', '', 'SSL'), $this->customer->getFirstName(), $this->url->link('account/logout', '', 'SSL'));

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

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

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

   

  $this->data['home'] = $this->url->link('common/home');

  $this->data['wishlist'] = $this->url->link('account/wishlist', '', 'SSL');

  $this->data['logged'] = $this->customer->isLogged();

  $this->data['account'] = $this->url->link('account/account', '', 'SSL');

  $this->data['shopping_cart'] = $this->url->link('checkout/cart');

  $this->data['checkout'] = $this->url->link('checkout/checkout', '', 'SSL');

 

  // Daniel's robot detector

  $status = true;

 

  if (isset($this->request->server['HTTP_USER_AGENT'])) {

   $robots = explode("\n", trim($this->config->get('config_robots')));

   foreach ($robots as $robot) {

    if ($robot && strpos($this->request->server['HTTP_USER_AGENT'], trim($robot)) !== false) {

     $status = false;

     break;

    }

   }

  }

 

  // A dirty hack to try to set a cookie for the multi-store feature

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

 

  $this->data['stores'] = array();

 

  if ($this->config->get('config_shared') && $status) {

   $this->data['stores'][] = $server . 'catalog/view/javascript/crossdomain.php?session_id=' . $this->session->getId();

  

   $stores = $this->model_setting_store->getStores();

    

   foreach ($stores as $store) {

    $this->data['stores'][] = $store['url'] . 'catalog/view/javascript/crossdomain.php?session_id=' . $this->session->getId();

   }

  }

   

  // Search 

  if (isset($this->request->get['search'])) {

   $this->data['search'] = $this->request->get['search'];

  } else {

   $this->data['search'] = '';

  }

 

  // Menu

  if (isset($this->request->get['path'])) {

   $parts = explode('_', (string)$this->request->get['path']);

  } else {

   $parts = array();

  }

  $this->load->model('catalog/category');

 

  $this->load->model('catalog/product');

 

  $this->data['categories'] = array();

    

  $categories = $this->model_catalog_category->getCategories(0);

 

  foreach ($categories as $category) {

   if ($category['top']) {

    // Level 2

    $children_data = array();

   

    $children = $this->model_catalog_category->getCategories($category['category_id']);

   

    foreach ($children as $child) {

     //Будем вычислять кол-во товаров в категориях только если это кол-во надо показывать

     if ($this->config->get('config_product_count')) {

      $data = array(

       'filter_category_id'  => $child['category_id'],

       'filter_sub_category' => true

      );

     

      $product_total = $this->model_catalog_product->getTotalProducts($data);

     }

        

     $children_data[] = array(

      'name'  => $child['name'] . ($this->config->get('config_product_count') ? ' (' . $product_total . ')' : ''),

      'href'  => $this->url->link('product/category', 'path=' . $category['category_id'] . '_' . $child['category_id'])

     );     

    }

   

    // Level 1

    $this->data['categories'][] = array(

     'name'     => $category['name'],

     'children' => $children_data,

     'active'   => in_array($category['category_id'], $parts),

     'column'   => $category['column'] ? $category['column'] : 1,

     'href'     => $this->url->link('product/category', 'path=' . $category['category_id'])

    );

   }

  }

 

  $this->children = array(

   'module/language',

   'module/currency',

   'module/cart'

  );

   

  if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/common/header.tpl')) {

   $this->template = $this->config->get('config_template') . '/template/common/header.tpl';

  } else {

   $this->template = 'default/template/common/header.tpl';

  }

 

     $this->render();

}

?>

 

Есть какой то другой способ заставить simple загружать другой header.tpl на странице оформления заказа, но при этом не трогать другие страницы?

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

 

Заранее спасибо!

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


 

Есть какой то другой способ заставить simple загружать другой header.tpl на странице оформления заказа, но при этом не трогать другие страницы?

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

Не то значит вырезаете. Нужно создать header2.tpl и вырезать только контейнеры для меню (обычно это отдельный див)

а в файле header.php

добавить перед подключением шаблона строку

$get_route = isset($_GET['route']) ? $_GET['route'] : (isset($_GET['_route_']) ? $_GET['_route_'] : '');

и ниже заменить текст

'/template/common/header.tpl'

на

($get_route == 'checkout/simplecheckout' ? '/template/common/header2.tpl' : '/template/common/header.tpl')

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

  • dinox changed the title to Модуль Simple - упрощенная регистрация и заказ [Поддержка]

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

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

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

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

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

Вхід

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

Вхід зараз

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

Important Information

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