Помощь Как передать название товара в контакты.

Тема в разделе "Opencart", создана пользователем Porsche71, 18 май 2014.

Информация :
Внимание форумчане! При создании тем, или выкладывании какой-либо информации проверьте в какой ветке форума вы находитесь! Не путайте Opencart и Opencart2. При несоблюдении данного условия выносится соответствующее наказание! И потом не говорите что вас НЕ ПРЕДУПРЕЖДАЛИ! По возможности используйте обменники mail, yandex, google, dropbox, rghost Дабы избежать просьб перезалить и проблем с рекламой!
Модераторы: ZiX
  1. Porsche71

    Porsche71 Постоялец

    Регистр.:
    23 май 2010
    Сообщения:
    81
    Симпатии:
    28
    Ребят, имеется модуль, который в случае 0-вой цены меняет кнопку "купить" на "Под заказ"...и перенаправляет на страницу "Контакты"....и там в поле обратной связи вставляет название товара.
    Но он не дружит с Чпу((
    Отрывки из vqmod:
    PHP:
    <file name="catalog/controller/checkout/cart.php">
              <
    operation error="skip">
                  <
    search position="after"><![CDATA[
                
    $product_info $this->model_catalog_product->getProduct($product_id);
                ]]></
    search>
                <
    add><![CDATA[
                if (
    $product_info['price'] <= 0) {
                
    $json['redirect'] = str_replace('&amp;''&'$this->url->link('information/contact''product_id=' $this->request->post['product_id']));
                } else
                ]]></
    add>
            </
    operation>
        </
    file>
    Код выше, насколько я понял, генерирует ссылку на страницу контакты.
    А Код ниже распознает что за товар и вставляет в поля имя и модель:
    PHP:
    <file name="catalog/controller/information/contact.php">

            <operation error="skip">

                <search position="after"><![CDATA[
                  $this->data['entry_captcha'] = $this->language->get('entry_captcha');
                ]]></search>

                <add><![CDATA[
                if (isset($this->request->get['product_id'])) {
                $product_id = (int)$this->request->get['product_id'];
                } else {
                $product_id = 0;
                }
                  $this->load->model('catalog/product');
          
                $product_info = $this->model_catalog_product->getProduct($product_id);
          
                if ($product_info) {

                    $this->data['product_name'] = $product_info['name'];
                    $this->data['model'] = $product_info['model'];
                }
                ]]></add>

            </operation>

            <operation error="skip">

                <search position="replace" offset="1"><![CDATA[
                  $mail->setSubject(html_entity_decode(sprintf($this->language->get('email_subject'), $this->request->post['name']), ENT_QUOTES, 'UTF-8'));
                ]]></search>

                <add><![CDATA[
                  $mail->setSubject(html_entity_decode(sprintf($this->language->get('email_subject'), $this->request->post['model']), ENT_QUOTES, 'UTF-8'));
                  $emailmessage =
                    "Name: ".$this->request->post['name'].
                    "\nEmail: ".$this->request->post['email'].
                    "\nProduct Name: ".$this->request->post['product_name'].
                    "\nProduct Model: ".$this->request->post['model'].
                    "\n\n".$this->request->post['enquiry'].
                    "\n\n----------------------------------------\n\nSender's IP Address: ".$_SERVER['REMOTE_ADDR'];
                  $mail->setText(strip_tags(html_entity_decode($emailmessage, ENT_QUOTES, 'UTF-8')));
                ]]></add>

            </operation>

            <operation error="skip">

                <search position="before"><![CDATA[
                $this->data['entry_enquiry'] = $this->language->get('entry_enquiry');
                ]]></search>

                <add><![CDATA[
                $this->data['entry_product_name'] = $this->language->get('entry_product_name');
                $this->data['entry_model'] = $this->language->get('entry_model');
                ]]></add>

            </operation>

            <operation error="skip">

                <search position="before"><![CDATA[
                if (isset($this->request->post['enquiry'])) {
                ]]></search>

                <add><![CDATA[
                if (isset($this->request->post['product_name'])) {
                $this->data['product_name'] = $this->request->post['product_name'];
                } else {
                $this->data['product_name'] = $product_info['name'];
                }
                if (isset($this->request->post['model'])) {
                $this->data['model'] = $this->request->post['model'];
                } else {
                $this->data['model'] = $product_info['model'];
                }
                ]]></add>

            </operation>

        </file>

        <file name="catalog/view/theme/*/template/information/contact.tpl">
      
            <operation error="skip">
      
                <search position="before"><![CDATA[
                <b><?php echo $entry_enquiry?></b><br />
                ]]></search>

                <add><![CDATA[
                <b><?php echo $entry_product_name?></b><br />
                <input type="text" name="product_name" value="<?php echo $product_name?>" />
                <br />
                <br />
                <b><?php echo $entry_model?></b><br />
                   <input type="text" name="model" value="<?php echo $model?>" />
                <br />
                <br />
                ]]></add>
      
            </operation>
      
        </file>
    Помогите сделать так, чтобы генерировалась ссылка типа домен.ru/information/contact ....И передавались наименование товара и модель с использованием ЧПУ.

    Должно получиться как-то так...
     
    Последнее редактирование: 18 май 2014
  2. edwardrybka

    edwardrybka Создатель

    Регистр.:
    27 ноя 2012
    Сообщения:
    38
    Симпатии:
    19
    используйте куки для хранения и все
     
  3. Porsche71

    Porsche71 Постоялец

    Регистр.:
    23 май 2010
    Сообщения:
    81
    Симпатии:
    28
    К сожалению, мне это ни о чём не говорит( Я был бы благодарен, если рассказали поподробнее как реализовать...
     
  4. sidoruk2000

    sidoruk2000 Постоялец

    Регистр.:
    19 окт 2012
    Сообщения:
    112
    Симпатии:
    27
    здесь вопрос не модуле который перенаправляет а в генерации ссылки на страницу контактов. Есть много модулей которые это делают, можно руками поправить. Я пользуюсь этим модулем


    Можно поставить другие модули которые делают страницы типа контактов, акций и т.п. с ЧПУ ссылками
     
  5. edwardrybka

    edwardrybka Создатель

    Регистр.:
    27 ноя 2012
    Сообщения:
    38
    Симпатии:
    19
    тут вы неправы как раз у человека обрезает запросы чпу
     
  6. Porsche71

    Porsche71 Постоялец

    Регистр.:
    23 май 2010
    Сообщения:
    81
    Симпатии:
    28
    Всё, разобрался, спасибо... Проблема была в том, что движок не хотел переходить по ссылке "/contact/?product_id=123" ....
    Изменил на "/contact/?product=123" и всё)