Перейти к содержанию
Официальный форум поддержки Simpla

kislotnik

Пользователь
  • Публикаций

    357
  • Зарегистрирован

  • Посещение

Сообщения, опубликованные kislotnik

  1. 1 минуту назад, ABSORBER сказал:

    in_stock это если цена > 0 и ( кол-во бесконечно или кол-во > 0 )

    или же сделать что-то похожее в функции get_products

    
    if (isset($filter['price_null'])) {
        $in_stock_filter .= $this->db->placehold(' AND (SELECT COUNT(*)>0 FROM __variants pv WHERE pv.product_id=p.id AND pv.price>0 LIMIT 1) = ?', intval($filter['price_null']));
    }

    ну и использовать 

    
    $filter['price_null'] = 1

    Сделал вот так

    if(isset($filter['visible']))
    			$visible_filter = $this->db->placehold('AND (SELECT 1 FROM __variants pv WHERE pv.product_id=p.id AND pv.price!="" LIMIT 1) AND p.visible=?', intval($filter['visible']));

    Что скажете?

  2. 2 часа назад, Kami сказал:

    смотря откуда их скрыть нужно, как правило используйте фильтр 

    ProductsView.php

    
    $filter['in_stock'] = 1;

    Но по моему в поиске их все равно можно будет найти, поэтому советовал бы это проверить.

    in stock это если наличие 0 а мне нужно если цена 0

  3. в админке есть возможность выбрать все товары и потом переместить их в категорию. Подскажите пожалуйста как можно добавить в еще одну категрию.  То есть чтоб товар был в двух категориях?

  4. 8 часов назад, a13x сказал:

    Для чего вам мультиязычность? Вы продаёте в разные страны? Тогда почему не использовать англ. версию? Многие хотят мультиязычность, но большинство не понимают на самом деле что это вобще не нужная вещь. Или может вы хотите перевести систему на англ. язык и это называете мультиязычностью?

    В Украине новый закон.Все сферы обслуживания на гос язык. Вот и засуетились. Спросил варианты так как думаю решаю перейти или остаться на симпла

  5. 3 часа назад, Kami сказал:

    Насколько я помню ищем строку  в api/Cart.php

    // Если товар существует, добавим его в корзину

    
    if(!empty($variant) && ($variant->stock>0))

    Удаляем проверку на наличие

    
    && ($variant->stock>0)

    в функциях add_item, update_item

    И также в обеих функциях заменяем

    
    $amount = min($amount, $variant->stock);

    на

    
    $amount = min($amount, ($variant->stock ? $variant->stock : $amount));

    И в ProductsVIew.php, ProductView.php, View.php

    Найди и удалить что связано с 

    
    'in_stock'=>true

    Ну а дальше в шаблоне можете добавлять какие то свои плюшки чтоб показать пользователю что эти товары под заказ.

    Спасибо большое

  6. 2 часа назад, a13x сказал:

    зачем лезть в файлы чтобы убрать проверку? Неужели запросом в базу сложно скинуть всё наличие на 100 или на 1000 или вобще null поставить чтобы не учитывалось? Нет надо лезть в систему и что-то менять.

    такой вариант не подходит, нужно именно без остатков оформлять заказ.  потом товары с остатком меньше 0 формируют накладную для заказа кладовщика

  7. 4 часа назад, shooroop сказал:

    Если у него нет вариантов, а каждый товар отдельно как бы ты их связывал?

     

    2 часа назад, Noxter сказал:

    Создал бы варианты и переделал вывод товаров в категории. Логично нет?

    :рукалицо:

    стандартный функционал не затронут и используется. таким образом получилось реализовать цвет и размер

    отдельный товар это цвет, вариант это размер.

     

  8. данный код формирует связанные товары по артикулу в карточке товара

    
    		// Связанные товары
    		$self_ids = array();
    		$self_products = array();
    		foreach($this->products->get_self_products($product->id) as $p)
    		{
    			$self_ids[] = $p->related_id;
    			$self_products[$p->related_id] = null;
    		}
    
    		/* sku_related_products */
    	
    		if( $product->variant->sku ){ 
    			foreach($this->variants->get_sku_product_id($product->variant->sku, $product->id) as $ps)
    			{
    				$self_ids[] = $ps;
    				$self_products[$ps] = null;
    			}
    
    			//делаем уникализацию массива
    			$self_ids = array_unique($self_ids); 
    			 
    			
    		}
    	
    		/*/ sku_related_products */
    
    		if(!empty($self_ids))
    		{
    			foreach($this->products->get_products(array('id'=>$self_ids, 'in_stock'=>1, 'visible'=>1)) as $p)
    				$self_products[$p->id] = $p;
    			
    			$self_products_images = $this->products->get_images(array('product_id'=>array_keys($self_products)));
    			foreach($self_products_images as $self_product_image)
    				if(isset($self_products[$self_product_image->product_id]))
    					$self_products[$self_product_image->product_id]->images[] = $self_product_image;
    			$self_products_variants = $this->variants->get_variants(array('product_id'=>array_keys($self_products), 'in_stock'=>1));
    			foreach($self_products_variants as $self_product_variant)
    			{
    				if(isset($self_products[$self_product_variant->product_id]))
    				{
    					$self_products[$self_product_variant->product_id]->variants[] = $self_product_variant;
    				}
    			}
    			foreach($self_products as $id=>$s)
    			{
    				if(is_object($s))
    				{
    					$s->image = &$s->images[0];
    					$s->variant = &$s->variants[0];
    				}
    				else
    				{
    					unset($self_products[$id]);
    				}
    			}
    			$this->design->assign('self_products', $self_products);
    		}

    подскажите пожалуйста как сделать чтоб на странице категорий под каждым товаром выводились эти связанные товары.

    Спасибо.

  9. Было бы куда правильнее сделать возможность создавать блоки и связывать сущности.

    К примеру вместо связанных товаров сделать возможность создавать такие блоки, возможность указывать заголовок и аттачить объекты (товары, записи блога, акции прочее).

    Кто заинтересован пишите в телегу @noxter.

    модератор наверное что-то накосячил, в своей теме не могу отвечать

    http://forum.simplacms.ru/topic/14721-связанные-товара-автоматом-с-одинаковыми-арти/?p=114409

     

    Опубликовано Вчера, 23:48

    У вас на сайте есть разные товары с одинаковым артикулом?

    да, разные товары с одинаковым артикулом

  10. Подскажите пожалуйста в какую сторону смотреть и какие файлы править?

    как сделать чтоб связанные товары добавлялись автоматически у товаров с одинаковыми артикулами.

    то есть если у товар одинаковый артикул то все они друг у друга выводятся как связанные?

  11. Примерно так: в ProductView.php

     

            // Связанные товары

            $related_ids = array();

            $related_products = array();

            foreach($this->products->get_related_products($product->id) as $p)

            {

                $related_ids[] = $p->related_id;

                $related_products[$p->related_id] = null;

            }

     

     

                $related_ids[] = $product->id;

                $related_products[$product->id] = null;

     

     

     

     

     

     

    спасибо большое)

×
×
  • Создать...