Перейти к содержимому


Фото
* * * * - 4 голосов

Товары под заказ


  • Чтобы отвечать, сперва войдите на форум
49 ответов в теме

#21 wspirit

wspirit
  • Пользователь
  • 74 сообщений

Опубликовано 14.05.2012 - 03:33

спасибо, решил еще до того как ты запостил, по другому.
делал для product.tpl. правка в файле ProductView.php
в строке 

$variants = $this->variants->get_variants(array('product_id'=>$product->id, 'in_stock'=>true));

удалил 

, 'in_stock'=>true


#22 rand

rand
  • Пользователь
  • 53 сообщений

Опубликовано 08.08.2012 - 00:53

Это разные решения, кому-то конечно и вашего достаточно, но у нас необходимо четко указывать что есть в наличии, а чего нет.



#23 ruatwa

ruatwa
  • Пользователь
  • 2 сообщений

Опубликовано 15.01.2013 - 01:29

Ребята поясните пож-та "В базе в вариантах товара создаем колонку pod_zakaz (тиниинт в 1 цифру, 0 по дефолту" , что понимается под базой?



#24 iluwka

iluwka
  • Пользователь
  • 220 сообщений

Опубликовано 15.01.2013 - 01:30

СУБД MySQL



#25 ruatwa

ruatwa
  • Пользователь
  • 2 сообщений

Опубликовано 15.01.2013 - 02:42

Отлично! Как создать колонку pod_zakaz в СУБД MySQL



#26 iluwka

iluwka
  • Пользователь
  • 220 сообщений

Опубликовано 15.01.2013 - 06:28

2kors не кипятись)

2ruatwa

ALTER TABLE  `s_variants` ADD  `pod_zakaz` TINYINT NOT NULL DEFAULT  '0'


думаю справитесь с запросом)



#27 yoshkin

yoshkin
  • Пользователь
  • 134 сообщений

Опубликовано 17.01.2013 - 06:32

Мне кажется, было бы лучше

ALTER TABLE `s_variants` ADD `pod_zakaz` tinyint(1) DEFAULT NULL;



#28 yoshkin

yoshkin
  • Пользователь
  • 134 сообщений

Опубликовано 18.01.2013 - 04:02

да, конечно, просто "опечатка", домой спешил)



#29 Andrew88

Andrew88
  • Пользователь
  • 2 сообщений

Опубликовано 22.01.2013 - 09:22

можно подробнее про эту часть?
Теперь идем в симпла/дизайн/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}



#30 delprofile

delprofile
  • Фрилансер
  • 819 сообщений
  • Дизайн, Программирование, Верстка
  • Версия CMS:2.x
  • Откуда:Москва

Опубликовано 22.01.2013 - 09:42

Да ёп вашу мать, научитесь ББ-кодами пользоваться



#31 Yaroslav

Yaroslav
  • Пользователь
  • 32 сообщений
  • Заказчик
  • Версия CMS:2.x
  • Откуда:Санкт-Петербург

Опубликовано 06.03.2013 - 01:44

а также меняете конструкцию на следующую:

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 вставлять эту конструкцию?



#32 Yaroslav

Yaroslav
  • Пользователь
  • 32 сообщений
  • Заказчик
  • Версия CMS:2.x
  • Откуда:Санкт-Петербург

Опубликовано 14.05.2013 - 18:52

Помогите, пожалуйста!

 

В какое место в файле 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."";

И какие проблемы с яндексом исчезнут после этого?

Очень жду ответа.



#33 Dr_Brown

Dr_Brown
  • Пользователь
  • 110 сообщений
  • Заказчик
  • Версия CMS:2.x
  • Откуда:Donbasss

Опубликовано 18.05.2013 - 13:51

$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.... :rolleyes:



#34 Lia

Lia
  • Пользователь
  • 16 сообщений
  • Заказчик
  • Версия CMS:2.x

Опубликовано 24.09.2013 - 07:03

Где мной допущена ошибка? 

 

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



#35 tumanenko

tumanenko
  • Пользователь
  • 136 сообщений
  • Заказчик
  • Откуда:Харьков

Опубликовано 19.10.2013 - 01:19

ВОт почему итоговые готовые решения не выводить в какой-то раздел, где будут именно готовые решения?)
 



#36 Jekas

Jekas
  • Пользователь
  • 122 сообщений
  • Дизайн, Верстка, Заказчик, Пользователь
  • Версия CMS:2.x
  • Откуда:Королев

Опубликовано 19.10.2013 - 12:38

ВОт почему итоговые готовые решения не выводить в какой-то раздел, где будут именно готовые решения?)

Потому что всегда найдутся люди с вопросами "почему у меня не работает, делаю все как описано", а так есть много сайтов где выложены готовые решения, как бесплатные так и платные :-)

#37 tumanenko

tumanenko
  • Пользователь
  • 136 сообщений
  • Заказчик
  • Откуда:Харьков

Опубликовано 23.10.2013 - 18:51

Потому что всегда найдутся люди с вопросами "почему у меня не работает, делаю все как описано", а так есть много сайтов где выложены готовые решения, как бесплатные так и платные :-)

Ну я как заказчик. Зашел в раздел, увидел что нужно, заказал установку, оплатил и радуюсь. Это идеальный вариант. 



#38 baradetsky

baradetsky
  • Пользователь
  • 57 сообщений
  • Заказчик
  • Версия CMS:2.x
  • Откуда:Нск

Опубликовано 07.11.2013 - 12:43

Есть кто готов помочь реализовать "под заказ" за благодарствие по киви?))



#39 svma3x

svma3x
  • Фрилансер
  • 56 сообщений
  • Дизайн, Программирование, Верстка
  • Версия CMS:1.x, 2.x

Опубликовано 29.11.2013 - 17:08

Где мной допущена ошибка? 

 

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

 

В коде:

 

<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}
 

и все заработает как надо.



#40 eXtatic

eXtatic
  • Пользователь
  • 60 сообщений
  • Откуда:Архангельск

Опубликовано 03.02.2014 - 16:19

Сделал все как написано.
При сохраннии с галкой выдает

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}
 





0 пользователей читают эту тему

0 пользователей, 0 гостей, 0 скрытых