iluwka Опубликовано 15 января, 2013 Жалоба Поделиться Опубликовано 15 января, 2013 2kors не кипятись)2ruatwaALTER TABLE `s_variants` ADD `pod_zakaz` TINYINT NOT NULL DEFAULT '0'думаю справитесь с запросом) Цитата Ссылка на сообщение Поделиться на другие сайты
yoshkin Опубликовано 17 января, 2013 Жалоба Поделиться Опубликовано 17 января, 2013 Мне кажется, было бы лучше ALTER TABLE `s_variants` ADD `pod_zakaz` tinyint(1) DEFAULT NULL; Цитата Ссылка на сообщение Поделиться на другие сайты
yoshkin Опубликовано 18 января, 2013 Жалоба Поделиться Опубликовано 18 января, 2013 да, конечно, просто "опечатка", домой спешил) Цитата Ссылка на сообщение Поделиться на другие сайты
Andrew88 Опубликовано 22 января, 2013 Жалоба Поделиться Опубликовано 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} Цитата Ссылка на сообщение Поделиться на другие сайты
delprofile Опубликовано 22 января, 2013 Жалоба Поделиться Опубликовано 22 января, 2013 Да ёп вашу мать, научитесь ББ-кодами пользоваться Цитата Ссылка на сообщение Поделиться на другие сайты
Yaroslav Опубликовано 5 марта, 2013 Жалоба Поделиться Опубликовано 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 вставлять эту конструкцию? Цитата Ссылка на сообщение Поделиться на другие сайты
Yaroslav Опубликовано 14 мая, 2013 Жалоба Поделиться Опубликовано 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."";И какие проблемы с яндексом исчезнут после этого?Очень жду ответа. Цитата Ссылка на сообщение Поделиться на другие сайты
Dr_Brown Опубликовано 18 мая, 2013 Жалоба Поделиться Опубликовано 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.... Цитата Ссылка на сообщение Поделиться на другие сайты
Lia Опубликовано 24 сентября, 2013 Жалоба Поделиться Опубликовано 24 сентября, 2013 Где мной допущена ошибка? В админке при редактировании товара - ставлю галочку под заказ - сохраняю - и появляются новые пустые варианты товаров, на старых галочка отсутствует. Цитата Ссылка на сообщение Поделиться на другие сайты
tumanenko Опубликовано 18 октября, 2013 Жалоба Поделиться Опубликовано 18 октября, 2013 ВОт почему итоговые готовые решения не выводить в какой-то раздел, где будут именно готовые решения?) Цитата Ссылка на сообщение Поделиться на другие сайты
Jekas Опубликовано 19 октября, 2013 Жалоба Поделиться Опубликовано 19 октября, 2013 ВОт почему итоговые готовые решения не выводить в какой-то раздел, где будут именно готовые решения?) Потому что всегда найдутся люди с вопросами "почему у меня не работает, делаю все как описано", а так есть много сайтов где выложены готовые решения, как бесплатные так и платные :-) Цитата Ссылка на сообщение Поделиться на другие сайты
tumanenko Опубликовано 23 октября, 2013 Жалоба Поделиться Опубликовано 23 октября, 2013 Потому что всегда найдутся люди с вопросами "почему у меня не работает, делаю все как описано", а так есть много сайтов где выложены готовые решения, как бесплатные так и платные :-)Ну я как заказчик. Зашел в раздел, увидел что нужно, заказал установку, оплатил и радуюсь. Это идеальный вариант. Цитата Ссылка на сообщение Поделиться на другие сайты
baradetsky Опубликовано 7 ноября, 2013 Жалоба Поделиться Опубликовано 7 ноября, 2013 Есть кто готов помочь реализовать "под заказ" за благодарствие по киви?)) Цитата Ссылка на сообщение Поделиться на другие сайты
svma3x Опубликовано 29 ноября, 2013 Жалоба Поделиться Опубликовано 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} и все заработает как надо. Цитата Ссылка на сообщение Поделиться на другие сайты
eXtatic Опубликовано 3 февраля, 2014 Жалоба Поделиться Опубликовано 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} Цитата Ссылка на сообщение Поделиться на другие сайты
eXtatic Опубликовано 5 февраля, 2014 Жалоба Поделиться Опубликовано 5 февраля, 2014 Проблему решил самостоятельно! Цитата Ссылка на сообщение Поделиться на другие сайты
m0nster Опубликовано 2 августа, 2014 Жалоба Поделиться Опубликовано 2 августа, 2014 Поделись как... Цитата Ссылка на сообщение Поделиться на другие сайты
tsybart Опубликовано 1 октября, 2014 Жалоба Поделиться Опубликовано 1 октября, 2014 кто подскажет как сделать сортировку "в наличии", что бы все что с галочкой предзаказ, опускались вниз или просто убирались? Цитата Ссылка на сообщение Поделиться на другие сайты
tsybart Опубликовано 1 октября, 2014 Жалоба Поделиться Опубликовано 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; сортирует, все что "не под заказ" вверху списка, но в перемешку, а хотелось бы по дате добавления, не подскажете как? Цитата Ссылка на сообщение Поделиться на другие сайты
tsybart Опубликовано 19 октября, 2014 Жалоба Поделиться Опубликовано 19 октября, 2014 кто-то разобрался с вариантами под заказ? Цитата Ссылка на сообщение Поделиться на другие сайты
SELECONICS Опубликовано 30 марта, 2015 Жалоба Поделиться Опубликовано 30 марта, 2015 а кто подскажет, с какого то времени, начался минус переделки, при добавлении нового товара, либо редактировании старого, автоматом ставится галочка "Под заказ", приходится через редактирование БД ставить параметр "pod_zakaz" с 1 на 0.В БД вот такие параметры: pod_zakaz tinyint(1) Да NULL Как переделать возможность на ручную установку параметра. Цитата Ссылка на сообщение Поделиться на другие сайты
AlexanderKi Опубликовано 26 мая, 2015 Жалоба Поделиться Опубликовано 26 мая, 2015 Тема заглохла? Цитата Ссылка на сообщение Поделиться на другие сайты
Rash Опубликовано 26 мая, 2015 Жалоба Поделиться Опубликовано 26 мая, 2015 а кто подскажет, с какого то времени, начался минус переделки, при добавлении нового товара, либо редактировании старого, автоматом ставится галочка "Под заказ", приходится через редактирование БД ставить параметр "pod_zakaz" с 1 на 0.В БД вот такие параметры: pod_zakaz tinyint(1) Да NULL Как переделать возможность на ручную установку параметра. Установить в строке "pod_zakaz" параметр "По умолчанию: Нет" Цитата Ссылка на сообщение Поделиться на другие сайты
ooeirtj Опубликовано 12 июля, 2016 Жалоба Поделиться Опубликовано 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 вроде Цитата Ссылка на сообщение Поделиться на другие сайты
Breedzel Опубликовано 13 сентября, 2018 Жалоба Поделиться Опубликовано 13 сентября, 2018 Добрый день.Помогите опустить все товары под заказ вниз списка в каталоге.Разница лишь в том, что я использую привязку не к варианту, а к продукту, т.е. product->pod_zakaz Цитата Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.