Отключить в InstantShop модули доставки и оплаты

#1 13 мая 2012 в 12:51
Первый вопрос, мне показалось странным что в магазине не учтено того что кому то модули доставки и оплаты вообще не нужны. Мне, например, надо чтоб человек зашел, купил и магазин все равно записал его покупку в базу?

Вот скриншот


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

Вопрос. Можно ли на странице «Оформление заказа» т.е. вот тут:


Чтоб нажималась кнопка например «подтвердить» и все, это сократит лишние шаги и не будет пудрить голову людям.
#2 13 мая 2012 в 20:40
Не пробовал удалить все варианты доставки и оплаты?
#3 14 мая 2012 в 12:00
Ага, не вижу проблемы для разработчиков сделать и прикрутить второй сценарий — форму. Выбрав пункт "самовывоз", человек не получает форму с требованием ввести только и Имя и телефон.
#4 14 мая 2012 в 13:44
Я реализовал этот способ (когда отключены все варианты оплаты то просто идет подтверждение). Стучитесь в асю: 166211475
#5 14 мая 2012 в 14:01
vicoder, странно а тут нельзя выложить? пойду стучать smile
#6 18 мая 2012 в 02:47
Благодарность vicoder, удалось наконец допилить эту проблему и сделать реально быструю для клиентов, в 2 шага покупку. Работает тут slavyanskaya-kultura.ru/shop

И так что надо:
открывем фаил /components/shop/frontend.php
и весь его меняем на это

  1.  
  2. <?php
  3. /*********************************************************************************************/
  4. // //
  5. // InstantCMS v1.5 (c) 2009 FREEWARE //
  6. // http://instantcms.ru/, info@instantcms.ru //
  7. // //
  8. // written by InstantCMS Team 2007-2009 //
  9. // //
  10. // LICENSED BY GNU/GPL v2 //
  11. // //
  12. /*********************************************************************************************/
  13. if(!defined('VALID_CMS')) { die('ACCESS DENIED'); }
  14.  
  15. function shop(){
  16.  
  17. global $_LANG;
  18. global $_CFG;
  19.  
  20. setlocale(LC_NUMERIC, 'POSIX');
  21.  
  22. //подключим нужные классы
  23. $inCore = cmsCore::getInstance(); //ядро
  24. $inPage = cmsPage::getInstance(); //страница
  25. $inDB = cmsDatabase::getInstance(); //база данных
  26. $inUser = cmsUser::getInstance(); //пользователь
  27.  
  28. //получим ID текущего пункта меню
  29. $menuid = $inCore->menuId();
  30. $menutitle = $inCore->menuTitle();
  31.  
  32. if ($menuid == 1){ $menutitle = ''; }
  33.  
  34. //загружаем модель
  35. $inCore->loadModel('shop');
  36. $model = new cms_model_shop();
  37.  
  38. //загрузим конфиг компонента
  39. $cfg = $model->getConfig();
  40.  
  41. //получаем входные параметры
  42. $id = $inCore->request('id', 'int', 0);
  43. $seolink = $inCore->request('seolink', 'str', '');
  44. $do = $inCore->request('do', 'str', 'view');
  45.  
  46. $page = $inCore->request('page', 'int', 1);
  47. $perpage = $cfg['perpage'];
  48.  
  49. //Подключаем CSS к странице
  50. $inPage->addHeadCSS('templates/'.$_CFG['template'].'/css/inshop.css');
  51.  
  52. //============================================================================//
  53. //============================================================================//
  54.  
  55. //
  56. // ПРОСМОТР КАТЕГОРИИ МАГАЗИНА
  57. //
  58.  
  59. if ($do=='view'){
  60.  
  61. if ($menuid == 1){ $inPage->backButton(FALSE); }
  62.  
  63. // -------- получаем категорию --------------
  64.  
  65. if (!$seolink){
  66. //Корневая категория
  67. $root_cat = $model->getRootCategory();
  68. $root_cat['title'] = ($menuid > 1 ? $menutitle : '');
  69. }
  70.  
  71. if ($seolink){
  72. //Внутренняя (не корневая) категория
  73. $root_cat = $model->getCategoryByLink($seolink);
  74. $path_list = $model->getCategoryPath($root_cat['NSLeft'], $root_cat['NSRight']);
  75. }
  76.  
  77. //Если не найдена - 404
  78. if (!$root_cat){ cmsCore::error404(); }
  79.  
  80. $_SESSION['inshop_last_url'] = $_SERVER['REQUEST_URI'];
  81. $_SESSION['inshop_last_cat_id'] = $root_cat['id'];
  82.  
  83. //Ставим заголовки страницы
  84. if ($root_cat['pagetitle']) { $inPage->setTitle($root_cat['pagetitle']) ; } else {$inPage->setTitle($root_cat['title']);}
  85.  
  86. //SET META KEYWORDS AND DESCRIPTION
  87. $inPage->setKeywords($root_cat['meta_keys']);
  88. $inPage->setDescription($root_cat['meta_desc']);
  89.  
  90. //Если у категории есть родители, выводим их в глубиномере
  91. if ($path_list){
  92. foreach($path_list as $pcat){
  93. $inPage->addPathway($pcat['title'], '/shop/'.$pcat['seolink']);
  94. }
  95. }
  96.  
  97. //выводим название категории (или пункта меню, если это корневой раздел)
  98. $inPage->addPathway($root_cat['title']);
  99.  
  100. //получаем подкатегории
  101. $subcats = $model->getSubCats($root_cat['id']);
  102.  
  103. // ------- очищаем фильтры других категорий -----------------
  104. if (is_array($_SESSION['shop_filters'])){
  105. foreach ($_SESSION['shop_filters'] as $f_cat_id=>$f){
  106. if ($f_cat_id != $root_cat['id']){
  107. unset($_SESSION['shop_filters'][$f_cat_id]);
  108. }
  109. }
  110. if(!strpos($_SERVER['REQUEST_URI'],'page')) {
  111. unset($_SESSION['shop_filters'][$root_cat['id']]);
  112. }
  113. }
  114.  
  115. // ------- получаем значения фильтров -----------------
  116.  
  117. if($inCore->inRequest('all')) {
  118. unset($_SESSION['shop_filters'][$root_cat['id']]);
  119. $inCore->redirect('/shop/'.$root_cat['seolink']);
  120. }
  121.  
  122. $filter = array();
  123. $filter_str = $_SESSION['shop_filters'][$root_cat['id']];
  124.  
  125. if ($filter_str){ $filter = $model->parseFilterString($filter_str); }
  126. if ($inCore->inRequest('filter')) {
  127. $filter = $inCore->request('filter', 'array');
  128. unset($_SESSION['shop_filters']);
  129. }
  130.  
  131. if (is_array($filter)){
  132.  
  133. foreach($filter as $key=>$val){
  134.  
  135. if ($val && $key){
  136.  
  137. //производители
  138. if ($key == 'vendors'){
  139. $model->whereVendorIn($val);
  140. continue;
  141. }
  142.  
  143. //характеристика с одним значением (select)
  144. if (!is_array($val)){
  145. $val = trim($val);
  146. switch($key){
  147. case 'pfrom': $model->wherePriceFrom($val); break;
  148. case 'pto': $model->wherePriceTo($val); break;
  149. default: $model->whereCharIs($key, $val); break;
  150. }
  151. }
  152.  
  153. //характеристика с множеством значений (checkbox)
  154. if (is_array($val)){
  155. $model->whereCharIn($key, $val);
  156. }
  157.  
  158.  
  159. }
  160.  
  161. }
#7 18 мая 2012 в 08:37
Во вчерашнем обновлении это вроде бы решено:
"Добавлена возможност­ь отключить процесс оплаты. Заказы при этом сохраняютс­я, а покупателю­ сразу выводится "Заказ принят". Опция находится в настройках­ компонента­, на вкладке "Заказы"."
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.