хочу чтобы закладки работали не на основании учётной записи т.к. хочу вообще убрать личный кабинет, а на основании куков, сесии. может есть модуль или кто делал или знает как решить вопрос?
не устанавливается. добавил в имя файла перед разширением file_name.ocmod.xml при установке пишет нет id эксклюзивного. присвоил ид прописав <code>12345</code> ( все эти решения подглядел в аналогичном файле). файл вроде установился но в модификаторах у него нет имени(добавил) и не понимаю как его включить что бы содержимое закладок показывалось не зависимо от того зарегистрирован или нет (что бы выполнял свою задачу) кэш почистил
\catalog\controller\account\wishlist.php закомментировал строки 7, 164. Код: строка 7 // $this->response->redirect($this->url->link('account/login', '', 'SSL')); строка 164 //$json['info'] = sprintf($this->language->get('text_login'), $this->url->link('account/login', '', 'SSL'), $this->url->link('account/register', '', 'SSL'), $this->url->link('product/product', 'product_id=' . (int)$this->request->post['product_id']), $product_info['name'], $this->url->link('account/wishlist')); работает, а модификатор в топку
Всем привет, нужна помощь. На опенкарт 2.1.0.2.1 допиливали как то решение для вывода скидок на покупки только зарегистрированным покупателям. Концепция поменялась, теперь нужно отключить проверку на авторизацию, показывать блок со скидками всем клиентам. Кто и когда допиливал история умалчивает, поэтому прошу помощи- ка отключить проверку на авторизацию для такого чуда : контролер хедера где выводится блок Спойлер //discount1 $data['discount1_ar']=array(); if($this->config->get('discount1_status')=='0') { if($this->customer->isLogged()) { $data['discount1_ar']=$this->config->get('discount1_ar'); $s_ar=array(); foreach($data['discount1_ar'] as $n1=>$ar1) { $s_ar[]=$ar1['sort_order']; } array_multisort ($s_ar, SORT_ASC, $data['discount1_ar']); if(isset($this->session->data['discount1'])) { $data['d_title1']=$this->session->data['discount1']['title']; } else { $data['d_title1']=''; } $data['d_url1']=$this->url->link('product/product/discount1'); } } //discount1 подключение в шаблоне хедера Спойлер <?php if($discount1_ar) { ?> <div style="display:inline-block;float:right;margin-top:6px;width:auto;position:relative;white-space:nowrap; color: #000"> <?php foreach($discount1_ar as $d_n=>$discount1_ar1) { ?> <input type="hidden" name="discount1_<?php echo $d_n; ?>_title" id="discount1_<?php echo $d_n; ?>_title" value="<?php echo $discount1_ar1['title']; ?>"> <input type="hidden" name="discount1_<?php echo $d_n; ?>_percent" id="discount1_<?php echo $d_n; ?>_percent" value="<?php echo $discount1_ar1['percent']; ?>"> <?php } ?> <div id="discount1_div" style="display:none;"></div> <table align="right" border="0"> <tr><td style="padding-right:5px;"> Скидка: </td><td><select class="form-control" style="width:auto;" name="discount1" onChange="set_discount1(this.value);"> <option value="">Выберите</option> <?php foreach($discount1_ar as $d_n=>$discount1_ar1) { ?> <option value="<?php echo $d_n; ?>"<?php if(isset($d_title1)) { if($d_title1==$discount1_ar1['title']) {echo ' selected'; } } ?>><?php echo $discount1_ar1['title']; ?></option> <?php } ?> </select> </td></tr></table> <script> function set_discount1(n) { var percent1=document.getElementById('discount1_'+n+'_percent').value; var title1=document.getElementById('discount1_'+n+'_title').value; window.location='<?php echo $d_url1; ?>&percent='+percent1+'&title='+encodeURIComponent(title1)+'&n='+n+'&url1='+encodeURIComponent(document.location); } </script> </div> <?php } ?> Буду признателен за помощь или подсказку.
1. Не по теме!! 2. Пожалуйста, не нужно писать о "своем чуде". Разбираться в чудесах другого за бесплатно дело не благодарное и не спортивное.
приношу извинения за неспортивное поведение просто нагуглил темку, думал мож подскажет кто или подтолкнет в нужном направлении. ну нет, так нет. и на том спасибо что молотком не кинул
апну тему. Вопрос сабжа для версии 2.1.0.0 Если каментить строки выше, то не показывает закладки, а предлагает нажать далее и все равно кидает на форму авторизации http://www.opencart.com/index.php?route=extension/extension/info&extension_id=23623&filter_search=wishlist without login нормально не работает( скачал этот модуль http://www.opencart.com/index.php?r...ishlist without login&filter_license=0&page=3 разобрал xml файл и сделал все руками. Не работает. Строчки Код: $json['info'] = sprintf($this->language->get('text_login'), $this->url->link('account/login', '', 'SSL'), $this->url->link('account/register', '', 'SSL'), $this->url->link('product/product', 'product_id=' . (int)$this->request->post['product_id']), $product_info['name'], $this->url->link('account/wishlist')); первой строчки не нашел, но судя повсему нашел верный аналог т.к. Код: $json['success'] = sprintf($this->language->get('text_login'), $this->url->link('account/login', '', 'SSL'), $this->url->link('account/register', '', 'SSL'), $this->url->link('product/product', 'product_id=' . (int)$this->request->post['product_id']), $product_info['name'], $this->url->link('account/wishlist'));
вот незнай. Я комментирую 2 строки прямо в самом начале и все работает. (2.1.0.0) PHP: $this->session->data['redirect'] = $this->url->link('account/wishlist', '', 'SSL'); $this->response->redirect($this->url->link('account/login', '', 'SSL'));
Выдает в таком случае: Мои закладки Ваши закладки пусты Продолжить и после продолжить - форма авторизации. Из за модуля оформления заказа на 1 странице может такое быть?
Вопрос остается актуальным, как убрать обязательную авторизацию для добавления, просмотра и редатирования wishlist? для 1.5.5-х решение есть, для 2.3 - не подходит(
И не подойдет Но самое интересное, что товары прекрасно попадают в список желаний, Но вот просмотреть можно только после авторизации
к предыдущей инструкции добавьте так найти PHP: if ($this->customer->isLogged()) { изменить на PHP: if (1) { последняя строка похожа на говнокод , но для восприятия что делается, вполне себе. Кому нужно... удаляйте условие проверки.