Jump to content

Артикул в каталоге SimplaCMS (РЕШЕНО)


Recommended Posts

Делаем вывод АРТИКУЛА в админке!
Многие сталкиваются с тем, что им необходимо вывести АРТИКУЛ в каталоге товаров.

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

 

1) Открываем api/Products.php ищем следующий участок кода примерно на 246 строке

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

Ниже добавляем следующую строку

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

Далее в этом же файле ищем ниже участок кода, примерно 249 строка

$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)).'%") ');

Далее ищем запрос примерно 189 строка

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

И ниже вставляем код примерно на 196 строке

$keywords_table

 

Для того чтобы вывести АРТИКУЛ в каталоге нужно перейти к файлу: simpla/design/html/products.tpl и тут находим примерно 97 строку

<a href="{url module=ProductAdmin id=$product->id return=$smarty.server.REQUEST_URI}">{$product->name|escape}</a>

И ниже этой строки вставляем этот код

<br/>Арт.{$variant->sku|escape}

 

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

Edited by Pelemehka
Link to post
Share on other sites

Многие сталкиваются с тем, что им необходимо вывести АРТИКУЛ в каталоге товаров.

Судя по этой фразе, доработка относится к витрине магазина.

Для того чтобы вывести АРТИКУЛ в каталоге нужно перейти к файлу: simpla/design/html/products.tpl и тут находим примерно 97 строку

А судя по этой, делается что-то в админке.

 

Вы бы для начала написали четко и понятно цель доработки.

Link to post
Share on other sites

Судя по этой фразе, доработка относится к витрине магазина.А судя по этой, делается что-то в админке.

 

Вы бы для начала написали четко и понятно цель доработки.

 

Я поправил, но думаю для тех, кто ищет решение задачи, будет понятно для чего все это нужно.

Link to post
Share on other sites

в последней версии сиплы есть поиск по артикулу

 

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

Link to post
Share on other sites

1. Как уже заметил DaVinci, несколько нелогично выходит: Вы заявляете вывод артикула у товара, тогда как у товара артикулов нет, а есть у вариантов, а вариантов и, соответственно, артикулов может быть несколько. Выводится в Вашем способе один из них.

2. Ваш способ затрагивает API, дополнительно усложняя и без того сложный запрос по списку товаров. Этот усложненный запрос применяется не только в админке, но и в других местах, создавая лишнюю совершенно бесполезную нагрузку.

3. Решить задачу вывода артикула ОДНОГО из вариантов товара можно значительно проще, достаточно в шаблоне simpla/design/html/products.tpl вставить {$product->variant->sku|escape}. Совсем ни к чему затевать ради такого пустяка довольно большие изменения, затрагивающие API.

4. Если уж выводить артикул в админке, то надо бы выводить подобно тому, как стандартно сделано для цен, то есть:

4.1 все артикулы,

4.2 с возможностью редактирования.

 

 

В целом похоже на изобретение велосипеда, и весьма кривого...

Link to post
Share on other sites

1. Как уже заметил DaVinci, несколько нелогично выходит: Вы заявляете вывод артикула у товара, тогда как у товара артикулов нет, а есть у вариантов, а вариантов и, соответственно, артикулов может быть несколько. Выводится в Вашем способе один из них.

2. Ваш способ затрагивает API, дополнительно усложняя и без того сложный запрос по списку товаров. Этот усложненный запрос применяется не только в админке, но и в других местах, создавая лишнюю совершенно бесполезную нагрузку.

3. Решить задачу вывода артикула ОДНОГО из вариантов товара можно значительно проще, достаточно в шаблоне simpla/design/html/products.tpl вставить {$product->variant->sku|escape}. Совсем ни к чему затевать ради такого пустяка довольно большие изменения, затрагивающие API.

4. Если уж выводить артикул в админке, то надо бы выводить подобно тому, как стандартно сделано для цен, то есть.

4.1 все артикулы,

4.2 с возможностью редактирования.

 

 

В целом похоже на изобретение велосипеда, и весьма кривого...

 

Огромное спасибо за п.3.

Может есть похожий вариант сделать доп. артикул?

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