rand Posted January 17, 2012 Report Share Posted January 17, 2012 В базе в вариантах товара создаем колонку pod_zakaz (тиниинт в 1 цифру, 0 по дефолту).В Variants.php находим строки $query = $this->db->placehold("SELECT v.id, v.product_id , v.price, v.compare_price, v.sku, IFNULL(v.stock, ?) as stock, (v.stock IS NULL) as infinity, v.name, v.attachment, v.position $query = $this->db->placehold("SELECT v.id, v.product_id , v.price, v.compare_price, v.sku, IFNULL(v.stock, ?) as stock, (v.stock IS NULL) as infinity, v.name, v.attachment В конец (после того что тут скопировано) обоих добавляем , v.pod_zakazВ ProductAdmin.php находим строки (116): if($variant->stock == '?' || $variant->stock == '') $variant->stock = null; после них вставляем if(!isset($variant->pod_zakaz) || empty($variant->pod_zakaz)) $variant->pod_zakaz = 0;Теперь идем в симпла/дизайн/product.tpl и после строки: <li class="variant_amount">Кол-во</li> вставляем <li class="variant_pod_zakaz">Под заказ?</li> после строки <li class="variant_amount"> <input name="variants[stock][{$variant->id}]" type="text" value="{if $variant->infinity || $variant->stock == ''}?{else}{$variant->stock|escape}{/if}" />{$settings->units}</li> вставляем строку <li class="variant_pod_zakaz"> <input name="variants[pod_zakaz][{$variant->id}]" type="checkbox" value="1" {if $variant->pod_zakaz}checked{/if}/></li> после строки <li class="variant_amount"><input name="variants[stock][]" type="" value="?" />{$settings->units}</li> вставляем <li class="variant_pod_zakaz"><input name="variants[pod_zakaz][]" type="checkbox" value="1" /></li>После этого в своем дизайне вместо кнопки купить в файлах product.tpl и products.tpl вставляете такую конструкцию: {$productinstock = 0} {foreach $product->variants as $v} {if $v->pod_zakaz == 1}{$productinstock = 1}{/if} {/foreach} {if $productinstock != 0}<input type="submit" class="buy" value="заказать" />{else}<input type="submit" class="buy" value="купить" />{/if}После этого идете в файл cart.tpl и добавляете туда после названия товара что бы в итоге выглядело примерно так: {* Название товара *} <td class="name"> <a href="products/{$purchase->product->url}">{$purchase->product->brand|escape} {$purchase->product->name|escape}</a> ({$purchase->variant->stock}) {$purchase->variant->name|escape} {if $purchase->variant->pod_zakaz == 1}<br /><span class="for_shipment">на заказ</span>{/if} </td> После этого идете в yandex.php в корне вашего сайта и меняете строку: $simpla->db->query("SELECT v.price, v.id as variant_id, p.name as product_name, v.name as variant_name, p.url, p.annotation, pc.category_id, i.filename as image на $simpla->db->query("SELECT v.price, v.id as variant_id, p.name as product_name, v.name as variant_name, v.pod_zakaz as variant_pod_zakaz, p.url, p.annotation, pc.category_id, i.filename as image а также меняете конструкцию на следующую: 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 " <offer id='$p->variant_id' available='$available'> <url>".$simpla->config->root_url.'/products/'.$p->url.'?variant='.$p->variant_id."</url>"; После этого все должно заработать.И проблемы с яндексом хотябы по этому поводу исчезнут.Благодарить можно сюда (Webmoney):R389929297339Z727712527188E108127505699 Quote Link to post Share on other sites
135 Posted January 18, 2012 Report Share Posted January 18, 2012 Я не в курсе, что такое R389929297339Z727712527188E108127505699так что поблагодарю здесь.Благодарю. Quote Link to post Share on other sites
pruffpruff Posted January 18, 2012 Report Share Posted January 18, 2012 это для какой версии писалось? Quote Link to post Share on other sites
rand Posted January 18, 2012 Author Report Share Posted January 18, 2012 Работает на 2.0В 2.0.2 работает.2_135это кошельки Quote Link to post Share on other sites
arsko Posted February 27, 2012 Report Share Posted February 27, 2012 Если кому нужно, на главной странице написано «В корзину», в файле main.tpl так же вставить:В поле где {* Название товара *} product->url}»>{$purchase->product->brand|escape} {$purchase->product->name|escape} ({$purchase->variant->stock}) {$purchase->variant->name|escape} {if $purchase->variant->pod_zakaz == 1}на заказ{/if} И все поменяется как нужно. Quote Link to post Share on other sites
spyke Posted March 20, 2012 Report Share Posted March 20, 2012 А можно посмотреть как это реализовано на примере? Выложите скриншот, если можно. Quote Link to post Share on other sites
temp1999 Posted March 22, 2012 Report Share Posted March 22, 2012 Товарсчи, не работает данный функционал (товары под заказ) на симлпе 2.1.0 !!На ранних версиях симплы не пробовал...Помогите решить проблему!!! Quote Link to post Share on other sites
arsko Posted March 22, 2012 Report Share Posted March 22, 2012 temp1999 вы наверно думаете здесь телепаты сидят? Хоть намекните на проблему! Quote Link to post Share on other sites
temp1999 Posted March 23, 2012 Report Share Posted March 23, 2012 сорри.сейчас реализовано как - если в варианте товара поставлена галочка "под заказ" - то на витрине выводиться кнопка "под заказ".Но ведь у товара может быть несколько вариантов (к примеру, один вариант - в наличии, второй вариант - под заказ). И соответственно, всё равно кнопка будет "под заказ", но надо чтобы на витрине кнопка была не "под заказ", а как обычно. И справа от варианта товара выводить надпись "под заказ". Вот как в этом примере - http://rghost.net/37178103/image.pngОчень жду, спасибо! Quote Link to post Share on other sites
temp1999 Posted March 23, 2012 Report Share Posted March 23, 2012 Товарисчи, помогите с вопросом выше! Quote Link to post Share on other sites
temp1999 Posted March 26, 2012 Report Share Posted March 26, 2012 Помогите хотябы за $$ Quote Link to post Share on other sites
fluor Posted March 30, 2012 Report Share Posted March 30, 2012 тоже интересует этот момент Quote Link to post Share on other sites
Kpoxa Posted April 3, 2012 Report Share Posted April 3, 2012 Хотелось бы чтоб отмеченный товар "Под заказ" передавался в форму обратной связи, вывести кнопку могу для открытия контактов я то могу, а вот как передать в форму контактов данные о товаре? Помогите знающие люди!!! Quote Link to post Share on other sites
Danya Posted April 3, 2012 Report Share Posted April 3, 2012 тоже интересен данный функционал Quote Link to post Share on other sites
yoshkin Posted May 1, 2012 Report Share Posted May 1, 2012 Теперь идем в симпла/дизайн/product.tpl и после строки:Кол-вовставляемПод заказ?после строки {$settings->units} вставляем строку {if $pod_zakaz}checked{/if} после строки {$settings->units} вставляемВОТ про эту часть можно поподробнее? что добавить в шаблоне админки? Quote Link to post Share on other sites
yoshkin Posted May 1, 2012 Report Share Posted May 1, 2012 С предыдущим вопросом разобрался, но пока не понял, как быть с этой конструкцией?После этого в своем дизайне вместо кнопки купить в файлах 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
Kosjak76 Posted May 1, 2012 Report Share Posted May 1, 2012 Здесь выкинуты ХТМЛ-теги) Quote Link to post Share on other sites
yoshkin Posted May 1, 2012 Report Share Posted May 1, 2012 Вот я бы и хотел бы увидеть реально работающий пример с ними, а уж под свой шаблон переделать недолго)Никто не поделится? Quote Link to post Share on other sites
wspirit Posted May 14, 2012 Report Share Posted May 14, 2012 как сделать так, чтобы даже если количество у варианта 0 - его можно было бы отобразить для пользователя? Quote Link to post Share on other sites
mickt Posted May 14, 2012 Report Share Posted May 14, 2012 http://forum.simplacms.ru/discussion/1778/vyvod-svoystv-pri-nulevom-kolichestve-#Item_12 это имели ввиду? Quote Link to post Share on other sites
wspirit Posted May 14, 2012 Report Share Posted May 14, 2012 спасибо, решил еще до того как ты запостил, по другому.делал для product.tpl. правка в файле ProductView.phpв строке $variants = $this->variants->get_variants(array('product_id'=>$product->id, 'in_stock'=>true)); удалил , 'in_stock'=>true Quote Link to post Share on other sites
rand Posted August 7, 2012 Author Report Share Posted August 7, 2012 Это разные решения, кому-то конечно и вашего достаточно, но у нас необходимо четко указывать что есть в наличии, а чего нет. Quote Link to post Share on other sites
ruatwa Posted January 14, 2013 Report Share Posted January 14, 2013 Ребята поясните пож-та "В базе в вариантах товара создаем колонку pod_zakaz (тиниинт в 1 цифру, 0 по дефолту" , что понимается под базой? Quote Link to post Share on other sites
iluwka Posted January 14, 2013 Report Share Posted January 14, 2013 СУБД MySQL Quote Link to post Share on other sites
ruatwa Posted January 14, 2013 Report Share Posted January 14, 2013 Отлично! Как создать колонку pod_zakaz в СУБД MySQL 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.