iluwka Posted January 15, 2013 Report Share Posted January 15, 2013 2kors не кипятись)2ruatwaALTER TABLE `s_variants` ADD `pod_zakaz` TINYINT NOT NULL DEFAULT '0'думаю справитесь с запросом) Quote Link to post Share on other sites
yoshkin Posted January 17, 2013 Report Share Posted January 17, 2013 Мне кажется, было бы лучше ALTER TABLE `s_variants` ADD `pod_zakaz` tinyint(1) DEFAULT NULL; Quote Link to post Share on other sites
yoshkin Posted January 18, 2013 Report Share Posted January 18, 2013 да, конечно, просто "опечатка", домой спешил) Quote Link to post Share on other sites
Andrew88 Posted January 22, 2013 Report Share Posted January 22, 2013 можно подробнее про эту часть?Теперь идем в симпла/дизайн/product.tpl и после строки:Кол-вовставляемПод заказ?после строки{$settings->units}вставляем строкуpod_zakaz}checked{/if}/>после строки{$settings->units}вставляемнепонятно что за часть pod_zakaz}checked{/if}/> и в конце после строки{$settings->units}вставляем???А также эта конструкция непонятна:После этого в своем дизайне вместо кнопки купить в файлах product.tpl и products.tpl вставляете такую конструкцию:{$productinstock = 0}{foreach $product->variants as $v}{if $v->pod_zakaz == 1}{$productinstock = 1}{/if}{/foreach}{if $productinstock != 0}{else}{/if} Quote Link to post Share on other sites
delprofile Posted January 22, 2013 Report Share Posted January 22, 2013 Да ёп вашу мать, научитесь ББ-кодами пользоваться Quote Link to post Share on other sites
Yaroslav Posted March 5, 2013 Report Share Posted March 5, 2013 а также меняете конструкцию на следующую: foreach($simpla->db->results() as $p) { $available = 'true'; if ($p->variant_pod_zakaz == 0) { $available = 'true'; } else { $available = 'false'; } $price = round($simpla->money->convert($p->price, $main_currency->id, false),2); print " ".$simpla->config->root_url.'/products/'.$p->url.'?variant='.$p->variant_id."";После этого все должно заработать.И проблемы с яндексом хотябы по этому поводу исчезнут.Подскажите, пожалуйста, вместо какого куска кода в yandex.php вставлять эту конструкцию? Quote Link to post Share on other sites
Yaroslav Posted May 14, 2013 Report Share Posted May 14, 2013 Помогите, пожалуйста! В какое место в файле yandex.php вставлять эту конструкцию: foreach($simpla->db->results() as $p) { $available = 'true'; if ($p->variant_pod_zakaz == 0) { $available = 'true'; } else { $available = 'false'; } $price = round($simpla->money->convert($p->price, $main_currency->id, false),2); print " ".$simpla->config->root_url.'/products/'.$p->url.'?variant='.$p->variant_id."";И какие проблемы с яндексом исчезнут после этого?Очень жду ответа. Quote Link to post Share on other sites
Dr_Brown Posted May 18, 2013 Report Share Posted May 18, 2013 $prev_product_id = null; while($p = $simpla->db->result()) { $variant_url = ''; if ($prev_product_id === $p->product_id) $variant_url = '?variant='.$p->variant_id; $prev_product_id = $p->product_id; if ($p->variant_pod_zakaz == 0) { $available = 'true'; } else { $available = 'false'; } $price = round($simpla->money->convert($p->price, $main_currency->id, false),2); print " <offer id='$p->variant_id' available='$available'> <url>".$simpla->config->root_url.'/products/'.$p->url.$variant_url."</url>"; print " <price>$price</price> <currencyId>".$currency_code."</currencyId> <categoryId>".$p->category_id."</categoryId> "; if($p->image) print "<picture>".$simpla->design->resize_modifier($p->image, 200, 200)."</picture> "; print "<name>".htmlspecialchars($p->product_name).($p->variant_name?' '.htmlspecialchars($p->variant_name):'')."</name> <description>".htmlspecialchars(strip_tags($p->annotation))."</description> "; if ($p->variant_pod_zakaz == 1) print "<sales_notes>Необходима предоплата</sales_notes> "; print "</offer> "; }Этот кусок по желанию, я добавил так как у меня все что под заказ с предоплатой, это чтобы СКК лишний раз мозг не выносила: if ($p->variant_pod_zakaz == 1) print "<sales_notes>Необходима предоплата</sales_notes> "; И не забыть в запрос добавить: v.pod_zakaz Если бы кто нить помог бы доработать иморт-экспорт и вынос в products admin.... Quote Link to post Share on other sites
Lia Posted September 24, 2013 Report Share Posted September 24, 2013 Где мной допущена ошибка? В админке при редактировании товара - ставлю галочку под заказ - сохраняю - и появляются новые пустые варианты товаров, на старых галочка отсутствует. Quote Link to post Share on other sites
tumanenko Posted October 18, 2013 Report Share Posted October 18, 2013 ВОт почему итоговые готовые решения не выводить в какой-то раздел, где будут именно готовые решения?) Quote Link to post Share on other sites
Jekas Posted October 19, 2013 Report Share Posted October 19, 2013 ВОт почему итоговые готовые решения не выводить в какой-то раздел, где будут именно готовые решения?) Потому что всегда найдутся люди с вопросами "почему у меня не работает, делаю все как описано", а так есть много сайтов где выложены готовые решения, как бесплатные так и платные :-) Quote Link to post Share on other sites
tumanenko Posted October 23, 2013 Report Share Posted October 23, 2013 Потому что всегда найдутся люди с вопросами "почему у меня не работает, делаю все как описано", а так есть много сайтов где выложены готовые решения, как бесплатные так и платные :-)Ну я как заказчик. Зашел в раздел, увидел что нужно, заказал установку, оплатил и радуюсь. Это идеальный вариант. Quote Link to post Share on other sites
baradetsky Posted November 7, 2013 Report Share Posted November 7, 2013 Есть кто готов помочь реализовать "под заказ" за благодарствие по киви?)) Quote Link to post Share on other sites
svma3x Posted November 29, 2013 Report Share Posted November 29, 2013 Где мной допущена ошибка? В админке при редактировании товара - ставлю галочку под заказ - сохраняю - и появляются новые пустые варианты товаров, на старых галочка отсутствует. В коде: <li class="variant_pod_zakaz"> <input name="variants[pod_zakaz][{$variant->id}]" type="checkbox" value="1" {if $variant->pod_zakaz}checked{/if}/></li> надо удалить параметр {$variant->id} и все заработает как надо. Quote Link to post Share on other sites
eXtatic Posted February 3, 2014 Report Share Posted February 3, 2014 Сделал все как написано.При сохраннии с галкой выдает Warning: Invalid argument supplied for foreach() in /var/www/user3805/data/www/site/simpla/ProductAdmin.php on line 38 Вот этот кусок кода: if($this->request->post('variants')) foreach($this->request->post('variants') as $n=>$va) foreach($va as $i=>$v) $variants[$i]->$n = $v; В файле products.tpl не нашел кнопки купить.Вот код: <div id="page_title"> <p><a href="./">Главная</a> {if $category} {foreach from=$category->path item=cat} » <a class='link_2' href="catalog/{$cat->url}">{$cat->name|escape}</a>{/foreach} {if $brand}» <a class='link_2' href="catalog/{$cat->url}/{$brand->url}">{$brand->name|escape}</a>{/if} {elseif $brand}» <a class='link_2' href="brands/{$brand->url}">{$brand->name|escape}</a> {elseif $keyword}» Поиск {/if} </p> <h1> {if $keyword}Поиск {$keyword|escape} {elseif $page}{$page->name|escape} {else}{$category->name|escape} {$brand->name|escape} {$keyword|escape} {/if} </h1> </div> {if $current_page_num==1 && $category->description}<div id="category_description">{if $page->body}<p>{$page->body}</p>{/if}{$category->description}</div>{/if} {if $brand->description && $current_page_num==1}<div id="category_description"><h2>{$brand->name}</h2>{$brand->description}</div>{/if} {if $features || $category->brands} <div id="features"> <ul> {if $category->brands} <li> <p class="name">Бренды</p> <p class="values"> <a href="catalog/{$category->url}" class='hover_mouse{if !$brand->id} selected{/if}'>Все</a> {foreach name=brands item=b from=$category->brands} <a href="catalog/{$category->url}/{$b->url}" class='hover_mouse{if $b->id == $brand->id} selected{/if}' data-brand="{$b->id}">{$b->name|escape}</a> {/foreach} </p> </li> {/if} {if $features} {foreach $features as $f} <li> <p class="name" data-feature="{$f->id}">{$f->name}:</p> <p class="values"> <a href="{url params=[$f->id=>null, page=>null]}" class='hover_mouse{if !$smarty.get.$f@key} selected{/if}'>Все</a> {foreach $f->options as $o}<a href="{url params=[$f->id=>$o->value, page=>null]}" class='hover_mouse{if $smarty.get.$f@key == $o->value} selected{/if}'>{$o->value|escape}</a>{/foreach} </p> </li> {/foreach} {/if} </ul> </div> {/if} {if $products} {include file='pagination.tpl'} <ul class="tiny_products"> {foreach $products as $product} <li class="product">{include file='tpl_products_blocks.tpl'}</li> {/foreach} Просмотров: {$product->views} </ul> {include file='pagination.tpl'} {else}<h4 style='padding:50px 0;'>Сейчас здесь нет предложений<br />Попробуйте зайти позже</h4>{/if} {literal} <script> $(function() { // Раскраска строк характеристик $("#features li:even").addClass('even'); // Выбор вариантов $('select[name=variant]').change(function() { price = $(this).find('option:selected').attr('price'); compare_price = ''; if(typeof $(this).find('option:selected').attr('compare_price') == 'string') compare_price = $(this).find('option:selected').attr('compare_price'); $(this).find('option:selected').attr('compare_price'); $(this).closest('form').find('span').html(price); $(this).closest('form').find('strike').html(compare_price); return false; }); }); </script> {/literal} Quote Link to post Share on other sites
eXtatic Posted February 5, 2014 Report Share Posted February 5, 2014 Проблему решил самостоятельно! Quote Link to post Share on other sites
m0nster Posted August 2, 2014 Report Share Posted August 2, 2014 Поделись как... Quote Link to post Share on other sites
tsybart Posted October 1, 2014 Report Share Posted October 1, 2014 кто подскажет как сделать сортировку "в наличии", что бы все что с галочкой предзаказ, опускались вниз или просто убирались? Quote Link to post Share on other sites
tsybart Posted October 1, 2014 Report Share Posted October 1, 2014 Сделал так: case 'stock': $order = '(SELECT pv.pod_zakaz FROM __variants pv WHERE (pv.pod_zakaz IS NULL OR pv.pod_zakaz>0) AND p.id = pv.product_id AND pv.position=(SELECT MIN(position) FROM __variants WHERE (pod_zakaz>0 OR pod_zakaz IS NULL) AND product_id=p.id LIMIT 1) LIMIT 1)'; break; сортирует, все что "не под заказ" вверху списка, но в перемешку, а хотелось бы по дате добавления, не подскажете как? Quote Link to post Share on other sites
tsybart Posted October 19, 2014 Report Share Posted October 19, 2014 кто-то разобрался с вариантами под заказ? Quote Link to post Share on other sites
SELECONICS Posted March 30, 2015 Report Share Posted March 30, 2015 а кто подскажет, с какого то времени, начался минус переделки, при добавлении нового товара, либо редактировании старого, автоматом ставится галочка "Под заказ", приходится через редактирование БД ставить параметр "pod_zakaz" с 1 на 0.В БД вот такие параметры: pod_zakaz tinyint(1) Да NULL Как переделать возможность на ручную установку параметра. Quote Link to post Share on other sites
AlexanderKi Posted May 26, 2015 Report Share Posted May 26, 2015 Тема заглохла? Quote Link to post Share on other sites
Rash Posted May 26, 2015 Report Share Posted May 26, 2015 а кто подскажет, с какого то времени, начался минус переделки, при добавлении нового товара, либо редактировании старого, автоматом ставится галочка "Под заказ", приходится через редактирование БД ставить параметр "pod_zakaz" с 1 на 0.В БД вот такие параметры: pod_zakaz tinyint(1) Да NULL Как переделать возможность на ручную установку параметра. Установить в строке "pod_zakaz" параметр "По умолчанию: Нет" Quote Link to post Share on other sites
ooeirtj Posted July 12, 2016 Report Share Posted July 12, 2016 Хочу поделиться как я реализовал под заказ на своем сайте, чтобы те кто ищут смогли найти мой вариант реализации и попробовать у себя.Помогла данная тема, поэтому и решил сюда написать, так как многие читающие эту тему ищут способ реализации функции покупки товара которого нет на складе, т.е. количество = 0. первое нужно удалить проверку на наличие на складе ('in_stock'=>true), чтобы мы могли видеть стоимость при нулевом количестве меняем в файле ~/view/ProductView.php (у меня строка 25) //меняем foreach($this->variants->get_variants(array('product_id'=>$product->id, 'in_stock'=>true)) as $v) //на foreach($this->variants->get_variants(array('product_id'=>$product->id)) as $v) далее по аналогии меняем в файле ~/view/ProductsView.php (у меня строка 150) // меняем $variants = $this->variants->get_variants(array('product_id'=>$products_ids, 'in_stock'=>true)); //на $variants = $this->variants->get_variants(array('product_id'=>$products_ids)); файл view/View.php в трех местах строки у меня : 188, 234, 279 // Выбираем варианты товаров $variants = $this->variants->get_variants(array('product_id'=>$products_ids, 'in_stock'=>true)); //на $variants = $this->variants->get_variants(array('product_id'=>$products_ids)); Далее нам нужно подредактировать взаимодействие с корзиной ~/api/Cart.php функция add_item у меня срока 110функция update_item у меня строка 135 в обоих случаем меняем условие if(!empty($variant && ($variant->stock>0) ) { $amount = min($amount, $variant->stock); $_SESSION['shopping_cart'][$variant_id] = intval($amount); } на if(!empty($variant)) { $_SESSION['shopping_cart'][$variant_id] = intval($amount); } Далее необходимо подредактировать ваши файлы шаблонов product.tpl, products.tpl, cart.tpl и при необходимости главную страницу main.tpl. далее покажу как это реализовал я. product.tpl, products.tpl было: <!-- Выбор варианта товара --> {if $product->variants|count > 0} {foreach $product->variants as $v} <form class="variants" action="/cart"> {if $v->name}<label class="variant_name">{$v->name}</label>{/if} < <input type="submit" class="button" value="ЗАКАЗАТЬ" data-result-text="В КОРЗИНЕ"/> </form> {else} нет в наличии {/foreach} {/if} <!-- Выбор варианта товара (The End) --> стало: <!-- Выбор варианта товара --> {if $product->variants|count > 0} {foreach $product->variants as $v} <form class="variants" action="/cart"> {if $v->name}<label class="variant_name">{$v->name}</label>{/if} {if $v->stock == 0} <input type="submit" class="button" value="ЗАКАЗАТЬ" data-result-text="В КОРЗИНЕ"/> {else} <input type="submit" class="button" value="КУПИТЬ" data-result-text="В КОРЗИНЕ"/> {/if} </form> {if $v->stock < 4 && $v->stock > 0} Осталость {$v->stock} шт. {else if $v->stock > 3} В наличии {else} под заказ {/if} {/foreach} {/if} <!-- Выбор варианта товара (The End) --> Теперь файл Cart.tpl вывод количествабыло: {* Количество *} <table class="pokupka"> <tr> <td> <select name="amounts[{$purchase->variant->id}]" onchange="document.cart.submit();"> {section name=amounts start=1 loop=$purchase->variant->stock+1 step=1} <option value="{$smarty.section.amounts.index}" {if $purchase->amount==$smarty.section.amounts.index}selected{/if}>{$smarty.section.amounts.index} {$settings->units}</option> {/section} </select> </td> </tr> </table> стало: {* Количество *} {if $purchase->variant->stock != 0} <table class="pokupka"> <tr> <td> <select name="amounts[{$purchase->variant->id}]" onchange="document.cart.submit();"> {section name=amounts start=1 loop=$purchase->variant->stock+1 step=1} <option value="{$smarty.section.amounts.index}" {if $purchase->amount==$smarty.section.amounts.index}selected{/if}>{$smarty.section.amounts.index} {$settings->units}</option> {/section} </select> </td> </tr> </table> {else} <table class="pokupka"> <tr> <td> <input placeholder='{$purchase->amount}' type="text" name="amounts[{$purchase->variant->id}]" value="{$purchase->amount}" class="input_name" onchange="document.cart.submit();"> </td> </tr> </table> {/if} и еще поменял отображение название продукта было: <a href="products/{$purchase->product->url}">{$purchase->product->name|escape}</a> стало: {if $purchase->variant->stock != 0} <a href="products/{$purchase->product->url}"> {$purchase->product->name|escape}</a> {else} <a href="products/{$purchase->product->url}">{$purchase->product->name|escape}</a> <font color="#dd3f20">[ ПОД ЗАКАЗ ]</font> {/if} ВОТ НАВЕРНОЕ ПОЖАЛУЙ И ВСЕесли есть вопросы пишитеhttp://viaeco.ru/вот мой сайт где эта функция реализована.при заказа товара которого нет на складе, в админке стоит уведомление, что товара нет на складе.если нужны будут пояснения, пишити либо тут либо на сайте в разделе контакты в форме обратная связь.версия симплы 2.1.4 вроде Quote Link to post Share on other sites
Breedzel Posted September 13, 2018 Report Share Posted September 13, 2018 Добрый день.Помогите опустить все товары под заказ вниз списка в каталоге.Разница лишь в том, что я использую привязку не к варианту, а к продукту, т.е. product->pod_zakaz Quote Link to post Share on other sites
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.