Jump to content

Recommended Posts

{$variant->sku|escape}

Никак не могу вывести артикли рядом с товаром просто не отображается,

<h3>data-product=\"{$product->id}\">Арт.{$product->variant->sku}</h3>


Вставляю так id виден а артикли нет
Link to post
Share on other sites
  • Replies 69
  • Created
  • Last Reply

Top Posters In This Topic

  • 1 month later...

все заработало, сори за глупый вопрос.

Один момент, когда в названии присутствует знак / не заходит в товар, после нажатия пишет "Товары не найдены"

Link to post
Share on other sites
  • 5 weeks later...
  • 3 weeks later...

да, и если товара нет на складе артикул с полного описания товара уберается, вывожу методом:

<div class="options">
{foreach $product->variants as $v}
<span class="art">{if $v->sku} {$v->sku}{/if}</span>
{/foreach}
</div>

Как сделать чтобы он не исчезал со страницы?
Link to post
Share on other sites
  • 3 months later...

У меня следующий код вывода артикула:
<!-- Товар-->
<li class="product">

<!-- Фото товара -->
{if $product->image}
<div class="image">
<a href="products/{$product->url}"><img src="{$product->image->filename|resize:220:220}" alt="{$product->name|escape}"/></a>
</div>
{/if}
<!-- Фото товара (The End) -->

<!-- Название товара -->
<h3><a data-product="{$product->id}" href="products/{$product->url}">{$product->name|escape}</a></h3>
<!-- Название товара (The End) -->

<div class="annotation">{$product->annotation}</div>
{if $product->variant->sku}<div class="annotation">Артикул: {$product->variant->sku}</div>{/if}

Когда товара нет в наличии, то и артикул не выводится.
Подскажите, что дописать, чтоб артикул оставался, если нет товара в наличии?

Link to post
Share on other sites

есть один (возможно не совсем правильный) метод.
Тут показано как сделать артикул равному ID.
Вывести можно кодом

Артикул: {$product->id|escape}

Плюсы: К каждому новому товару автоматом присваивается артикул; решается ваша проблема; намного проще сделать поиск по артикулу (в том числе аяксом) и в клиентской, и админской частях.
Минусы: у всех вариантов одинаковый артикул; если на сайт уже залиты товары, в них тоже артикул поменяется на новый.
Link to post
Share on other sites
  • 4 weeks later...
  • 2 months later...

 

Поиск - в api/Products.php

после

$keywords = explode(' ', $filter['keyword']);

пишем

$keywords_table = ', s_variants v ';
$keywords_field = ', v.sku ';

вместо

$keyword_filter .= $this->db->placehold('AND (p.name LIKE "%'.mysql_real_escape_string(trim($keyword)).'%" OR p.meta_keywords LIKE "%'.mysql_real_escape_string(trim($keyword)).'%") ');

пишем

$keyword_filter .= $this->db->placehold(' AND p.id=v.product_id AND (v.sku LIKE "%'.mysql_real_escape_string(trim($keyword)).'%" OR p.name LIKE "%'.mysql_real_escape_string(trim($keyword)).'%" OR p.meta_keywords LIKE "%'.mysql_real_escape_string(trim($keyword)).'%") ');

дальше в запросе после

LEFT JOIN __brands b ON p.brand_id = b.id

пишем

$keywords_table

теперь live поиск - открываем ajax/search_products.php

и меняем запрос на

$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_real_escape_string($keyword).'%" OR __variants.sku LIKE "%'.mysql_real_escape_string($keyword).'%") AND visible=1 ORDER BY p.name LIMIT ?', $limit);

проверял, работает.

Спасибо за решение! Всё работает отлично.

Не подскажете, как вывести отображение артикулов в админке в наименовании товаров?

Link to post
Share on other sites

Это мне ровным счётом ничего не даёт. Код понятен, но какой файл и какую именно его часть править?

Link to post
Share on other sites
  • 1 month later...

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

 

только не могу понять заказ по артикулу не могу сформировать, только по названию, что и куда надо дописать? 

 

Помогите плиззз.

Link to post
Share on other sites
  • 1 month later...

Бьюсь с поиском, не работает, делаю ровно то, что описал когда то Beagler, выводится правильный товар в поиске, но при клике выпадает страница /products/ куда копать ?

 

И за все время мне одному показалось странным, что объявленная

$keywords_field = ', v.sku ';

нигде не использована в запросе  :huh:

Версия 2.2.3

Link to post
Share on other sites
  • 4 weeks later...

Недавно заметил, что обычный поиск по ключевым словам криво стал работать (после вышеизложеных изменений) - а именно при поиске должен найти не менее 150 товаров, на странице результата показывает всего 3!!! товара, и немеряно страниц для листания, и когда листаешь, то показывает всегда по три товара.

Проверял всю последовательность изменений - данный баг появляется сразу после:

""

Это только у Меня?

Плиз хелп!!!

та же проблема , не выводит се товары :(

подскажите решение (((

Link to post
Share on other sites
  • 1 month later...

Эта 

$keywords = explode(' ', $filter['keyword']);
 

Эта

 

$keyword_filter .= $this->db->placehold('AND (p.name LIKE "%'.mysql_real_escape_string(trim($keyword)).'%" OR p.meta_keywords LIKE "%'.mysql_real_escape_string(trim($keyword)).'%") ');
 

И эта строка 

 

LEFT JOIN __brands b ON p.brand_id = b.id
 

Встречаются в Products.php  2 раза. Вопрос: добавлять и менять в обоих случаях? 

Добавил только в первом случае - товар теперь находится, но не отображается (написано - "найден 1 товар")

Добавил в двух случаях - вообще перестал работать поиск.

 

Мож кто подскажет на что нужно было обратить внимание? 

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...