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

Stasique

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

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

  • Посещение

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

  1. Добрый день. Не выводятся связанные товары, если у них не стоит цена. Как выводить все связанные товары независимо от наличия цены?

    Правил файл ProductViev.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;
    }
    if ( !empty( $related_ids ) ) {
    	foreach ( $this->products->get_products( array( 'id' => $related_ids, 'in_stock' => 1, 'visible' => 1 ) ) as $p )
    		$related_products[ $p->id ] = $p;
    
    	$related_products_images = $this->products->get_images( array( 'product_id' => array_keys( $related_products ) ) );
    	foreach ( $related_products_images as $related_product_image )
    		if ( isset( $related_products[ $related_product_image->product_id ] ) )
    			$related_products[ $related_product_image->product_id ]->images[] = $related_product_image;
    	$related_products_variants = $this->variants->get_variants( array( 'product_id' => array_keys( $related_products ), 'in_stock' => 1 ) );
    	foreach ( $related_products_variants as $related_product_variant ) {
    		if ( isset( $related_products[ $related_product_variant->product_id ] ) ) {
    			$related_products[ $related_product_variant->product_id ]->variants[] = $related_product_variant;
    		}
    	}
    	foreach ( $related_products as $id => $r ) {
    		if ( is_object( $r ) ) {
    			$r->image = & $r->images[ 0 ];
    			$r->variant = & $r->variants[ 0 ];
    		} else {
    			unset( $related_products[ $id ] );
    		}
    	}
    	$this->design->assign( 'related_products', $related_products );
    }
    

    Если менять 'in_stock' => 1 на 'in_stock' => 0, то выводятся наоборот связанные товары без цен, а с ценами не выводятся. 

  2. Всем привет. Есть товары, которые привязаны сразу к 5 рубрикам. Как в карточке товара вывести список всех этих рубрик? Код типа {$cat->name} {$category->name} выводит 1 рубрику по счету.

  3. Спасибо, работает, но возникла новая проблема. Если раньше писали "Товар 1", то поиск выводил все товары, где есть "Товар 1", а теперь в поиск передается "Товар 1 (артикул)", и получается что ни одного товара найти не получается :(

  4. Доброго времени суток.

    Версия Симплы 2.3.6.

    Сделал в поиске возможность искать дополнительно по артикулу товара по этому способу. По артикулам и названиям ищет, все в порядке. Но есть потребность выводить в том же "живом" поиске рядом с названием в скобках артикул товара.

    Добавил код ('.$product->sku.') см. в конце

    $simpla->db->query('SELECT p.id, p.name, i.filename as image FROM __products p LEFT JOIN __images i ON i.product_id=p.id AND i.position=(SELECT MIN(position) FROM __images WHERE product_id=p.id LIMIT 1), __variants WHERE p.id=__variants.product_id AND (p.name LIKE "%'.mysql_escape_string($keyword).'%" OR __variants.sku LIKE "%'.mysql_escape_string($keyword).'%") AND visible=1 ORDER BY p.name LIMIT ?', $limit);
    
    	$products = $simpla->db->results();
    	$suggestions = array();	
    
    	foreach($products as $product)
    	{
    		$suggestion = new stdClass();
    		if(!empty($product->image))
    			$product->image = $simpla->design->resize_modifier($product->image, 35, 35);	
    			$suggestion->value = $product->name . ' ('.$product->sku.')';
    

    но артикул не выводится, я так понимаю надо как то изменить запрос.

     

    Есть у кого нибудь мысли, как вывести артикул?

  5. Всем привет, есть такой код меню

    {assign var="level" value=1}
    {function name=categories_tree}
    {if $categories}
    <ul {if $level == 1}class='page-sidebar-menu'{else}class='sub-menu'{/if}>
    {foreach $categories as $c}
    {if $c->visible}
      <li class='if in_array($category->id, $c->children)}active open{/if}'>
        <a href="catalog/{$c->url}">
          {if $level == 1}<span class="title">{/if}{$c->name}{if $level == 1}</span>{/if}
          {if у категории есть вложенные подкатегории}код 1{else}код 2{/if}
        </a>
    {categories_tree categories=$c->subcategories level=$level+1}
      </li>
    {/if}
    {/foreach}
    </ul>
    {/if}
    {/function}
    {categories_tree categories=$categories}
    

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

    {if у категории есть вложенные подкатегории}код 1{else}код 2{/if}
    

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

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