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

Рекомендуемые сообщения

{$variant->sku|escape}

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

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


Вставляю так id виден а артикли нет
Ссылка на сообщение
Поделиться на другие сайты
  • Ответов 69
  • Дата создания
  • Последний ответ

Лучшие авторы в теме

Лучшие авторы в теме

  • 1 месяц спустя...

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

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

Ссылка на сообщение
Поделиться на другие сайты
  • 5 недель спустя...
  • 3 недели спустя...

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

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

Как сделать чтобы он не исчезал со страницы?
Ссылка на сообщение
Поделиться на другие сайты
  • 3 месяца спустя...

У меня следующий код вывода артикула:
<!-- Товар-->
<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}

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

Ссылка на сообщение
Поделиться на другие сайты

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

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

Плюсы: К каждому новому товару автоматом присваивается артикул; решается ваша проблема; намного проще сделать поиск по артикулу (в том числе аяксом) и в клиентской, и админской частях.
Минусы: у всех вариантов одинаковый артикул; если на сайт уже залиты товары, в них тоже артикул поменяется на новый.
Ссылка на сообщение
Поделиться на другие сайты
  • 4 недели спустя...
  • 2 месяца спустя...

 

Поиск - в 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);

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

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

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

Ссылка на сообщение
Поделиться на другие сайты

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

Ссылка на сообщение
Поделиться на другие сайты
  • 1 месяц спустя...

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

 

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

 

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

Ссылка на сообщение
Поделиться на другие сайты
  • 1 месяц спустя...

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

 

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

$keywords_field = ', v.sku ';

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

Версия 2.2.3

Ссылка на сообщение
Поделиться на другие сайты
  • 4 недели спустя...

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

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

""

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

Плиз хелп!!!

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

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

Ссылка на сообщение
Поделиться на другие сайты
  • 1 месяц спустя...

Эта 

$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 товар")

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

 

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

Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...