Модификация стандартного оформления заказа

Тема в разделе "Магазины, электронная коммерция", создана пользователем sasha_ua, 26.08.2010.

  1. Offline

    sasha_ua Недавно здесь

    Регистрация:
    24.05.2010
    Сообщения:
    16
    Симпатии:
    0
    Пол:
    Мужской
    Добрый день.

    Стоит задача упростить оформление заказа до такого:
    [​IMG]

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

    Поэтому склоняюсь к более простому варианту для начинающих - заменит необходимые страницы на свои.
    Задача минимум:
    - Регистрация не нужна
    - Получить список товаров
    - Получить из упрощенной формы необходимые данные
    - Отправить это все на несколько почтовых ящиков и isq

    1. Процесс получения списка товаров можно увидеть в shop.cart.tpt.php
    2. Форму можно дописать там-же
    3. Как я понял надпись "Оформить заказ" ведет в checkout.index.php

    И так далее..
    Всплывают shop.cart.tpl, basket.php, ps_product.php, ps_checkout.php, и другие..


    P.S. Подскажите где копать? Может грубо вырезать ссылку "Оформить заказ" а вместо нее ссылающуюся на свой скрипт?
     
  2.  
  3. woojin
    Offline

    woojin Местный Команда форума

    Регистрация:
    31.05.2009
    Сообщения:
    3 209
    Симпатии:
    335
    Пол:
    Мужской
    могу сделать за денежку, если не хочешь то читай форум тут по этому поводу куча постов есть

    но если за денежку то мне потребуется полный доступ к твоему сайту или копия в архиве с дампом БД
     
  4. DKraev
    Offline

    DKraev <i>(aka gft)</i>

    Регистрация:
    16.08.2008
    Сообщения:
    1 627
    Симпатии:
    216
    Пол:
    Мужской
    Ну а почему бы и нет. Вполне логично. Если можете сделать так - делайте.
     
  5. Offline

    sasha_ua Недавно здесь

    Регистрация:
    24.05.2010
    Сообщения:
    16
    Симпатии:
    0
    Пол:
    Мужской
    woojin, я сам :) Постов куча но сколько реальных решений?
     
  6. DKraev
    Offline

    DKraev <i>(aka gft)</i>

    Регистрация:
    16.08.2008
    Сообщения:
    1 627
    Симпатии:
    216
    Пол:
    Мужской
    Если Вам нужен простейший вариант, то можно предложить следующее:

    Ставим Вирт. Ставим компонент форм обратной связи (я использую RSForm). Создаем кнопку с требуемыми полями, на кнопку "Оформить" вешаем скрипт, который показывает требуемую форму. Пример вывода такой формы можно посмотреть тут - http://urist.didgo.ru/.
    Нажмите на кнопку "Обратный звонок"
     
  7. Offline

    sasha_ua Недавно здесь

    Регистрация:
    24.05.2010
    Сообщения:
    16
    Симпатии:
    0
    Пол:
    Мужской
    Интересный вариант. Форма отсылается только на мыло или в базу данных тоже дублируется?

    Сначала попробую как задумал, захватила меня эта идея :)
     
  8. DKraev
    Offline

    DKraev <i>(aka gft)</i>

    Регистрация:
    16.08.2008
    Сообщения:
    1 627
    Симпатии:
    216
    Пол:
    Мужской
    В базу данных тоже дублируется и потом просматривается в админке. Если необходимо, то можно снова отправить сообщение данному пользователю. Например - напомнить о заказе. Или сообщить о смене статуса.
     
  9. Offline

    sasha_ua Недавно здесь

    Регистрация:
    24.05.2010
    Сообщения:
    16
    Симпатии:
    0
    Пол:
    Мужской
    Отредактировал shop.cart.tpl.php, добавил форму:

    Код (PHP):
    1. <table id="sh_order_table">
    2.     <form action="http://mysite.com.ua/add/orderform.php" method="POST">
    3.     <tr>
    4.         <th><?php echo $VM_LANG->_('PHPSHOP_SHOPPER_FORM_FIRST_NAME');?></th>
    5.         <td><input type="text" name="name"></td>
    6.     </tr>
    7.  
    8.     <tr>
    9.         <th><?php echo $VM_LANG->_('PHPSHOP_SHOPPER_FORM_LAST_NAME');?></th>
    10.         <td><input type="text" name="lastname"></td>
    11.     </tr>
    12.  
    13.     <tr>
    14.         <th><?php echo $VM_LANG->_('PHPSHOP_SHOPPER_FORM_CITY');?></th>
    15.         <td><input type="text" name="city"></td>
    16.     </tr>
    17.    
    18.     <tr>
    19.         <th><?php echo $VM_LANG->_('PHPSHOP_SHOPPER_FORM_ADDRESS');?></th>
    20.         <td><input type="text" name="address"></td>
    21.     </tr>  
    22.    
    23.     <tr>
    24.         <th><?php echo $VM_LANG->_('PHPSHOP_STORE_FORM_PHONE');?></th>
    25.         <td><input type="text" name="phone"></td>
    26.     </tr>  
    27.    
    28.     <tr>
    29.         <th><?php echo $VM_LANG->_('PHPSHOP_STORE_FORM_EMAIL');?></th>
    30.         <td><input type="text" name="email"></td>
    31.     </tr>  
    32.    
    33.     <tr>
    34.         <th><?php echo $VM_LANG->_('PHPSHOP_SHOPPER_FORM_ADDITIONAL');?></th>
    35.         <td><input type="text" name="additional"></td>
    36.     </tr>
    37.  
    38.     <tr>
    39.         <td><input type='submit' value="<?php echo $VM_LANG->_('PHPSHOP_SUBMIT'); ?>"</td>
    40.         <td></td>
    41.     </tr>
    42.     </form>
    43. </table>


    Написал простой обработчик:
    Код (PHP):
    1. <?php
    2.  
    3. $name = $_POST["name"];
    4. $lastname = $_POST["lastname"];
    5. $city = $_POST["city"];
    6. $address = $_POST["address"];
    7. $phone = $_POST["phone"];
    8. $email = $_POST["email"];
    9. $additional = $_POST["additional"];
    10.  
    11.  ?>
    12.  
    13. <div>
    14. <h2>Information:</h2>
    15. <p><?php echo $name; ?></p>
    16. <p><?php echo $lastname; ?></p>
    17. <p><?php echo $city; ?></p>
    18. <p><?php echo $address; ?></p>
    19. <p><?php echo $phone; ?></p>
    20. <p><?php echo $email; ?></p>
    21. <p><?php echo $additional; ?></p>
    22.  
    23. </div>


    Как и ожидалось меня выкидывает на чистый лист и выводит введенные данные, но как это сделать в шаблоне Виртумарта?

    Я не могу воспользоваться константами, например не получается вставить в обработчик

    Код (PHP):
    1. mm_showMyFileName( __FILE__ );
    2.  
    3. echo '<h2>'. $VM_LANG->_('PHPSHOP_CART_TITLE') .'</h2>
    4. <!-- Cart Begins here -->
    5. ';
    6. include(PAGEPATH. 'basket.php');
    7. echo $basket_html;
    8. echo '<!-- End Cart --><br /><br />
    9. ';


    Выводит
    В общем я так подозреваю дело в:
    Как же организовать непрямое обращение к скрипту?
     

Поделиться этой страницей

Загрузка...