Gregar Posted October 7, 2014 Report Share Posted October 7, 2014 (edited) Делаем вывод АРТИКУЛА в админке!Многие сталкиваются с тем, что им необходимо вывести АРТИКУЛ в каталоге товаров.Ниже я по пунктам распишу уже готовое решение. На форуме уже имеются подобные темы, я лишь собираю все по пунктам для того чтобы у вас не возникало вопросов и проблем. 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 October 7, 2014 by Pelemehka Quote Link to post Share on other sites
Kors Posted October 7, 2014 Report Share Posted October 7, 2014 Многие сталкиваются с тем, что им необходимо вывести АРТИКУЛ в каталоге товаров.Судя по этой фразе, доработка относится к витрине магазина.Для того чтобы вывести АРТИКУЛ в каталоге нужно перейти к файлу: simpla/design/html/products.tpl и тут находим примерно 97 строкуА судя по этой, делается что-то в админке. Вы бы для начала написали четко и понятно цель доработки. Quote Link to post Share on other sites
Gregar Posted October 7, 2014 Author Report Share Posted October 7, 2014 Судя по этой фразе, доработка относится к витрине магазина.А судя по этой, делается что-то в админке. Вы бы для начала написали четко и понятно цель доработки. Я поправил, но думаю для тех, кто ищет решение задачи, будет понятно для чего все это нужно. Quote Link to post Share on other sites
DaVinci Posted October 7, 2014 Report Share Posted October 7, 2014 в последней версии сиплы есть поиск по артикулу по поводу вывода артикула в списке товаров в админке - артикулов может быть несколько. стоит выводить их рядом с название варианта или заменить имя варианта на артикул Quote Link to post Share on other sites
Kors Posted October 8, 2014 Report Share Posted October 8, 2014 1. Как уже заметил DaVinci, несколько нелогично выходит: Вы заявляете вывод артикула у товара, тогда как у товара артикулов нет, а есть у вариантов, а вариантов и, соответственно, артикулов может быть несколько. Выводится в Вашем способе один из них. 2. Ваш способ затрагивает API, дополнительно усложняя и без того сложный запрос по списку товаров. Этот усложненный запрос применяется не только в админке, но и в других местах, создавая лишнюю совершенно бесполезную нагрузку. 3. Решить задачу вывода артикула ОДНОГО из вариантов товара можно значительно проще, достаточно в шаблоне simpla/design/html/products.tpl вставить {$product->variant->sku|escape}. Совсем ни к чему затевать ради такого пустяка довольно большие изменения, затрагивающие API. 4. Если уж выводить артикул в админке, то надо бы выводить подобно тому, как стандартно сделано для цен, то есть: 4.1 все артикулы, 4.2 с возможностью редактирования. В целом похоже на изобретение велосипеда, и весьма кривого... Quote Link to post Share on other sites
Winnie-the-Pooh Posted October 8, 2014 Report Share Posted October 8, 2014 1. Как уже заметил DaVinci, несколько нелогично выходит: Вы заявляете вывод артикула у товара, тогда как у товара артикулов нет, а есть у вариантов, а вариантов и, соответственно, артикулов может быть несколько. Выводится в Вашем способе один из них.2. Ваш способ затрагивает API, дополнительно усложняя и без того сложный запрос по списку товаров. Этот усложненный запрос применяется не только в админке, но и в других местах, создавая лишнюю совершенно бесполезную нагрузку.3. Решить задачу вывода артикула ОДНОГО из вариантов товара можно значительно проще, достаточно в шаблоне simpla/design/html/products.tpl вставить {$product->variant->sku|escape}. Совсем ни к чему затевать ради такого пустяка довольно большие изменения, затрагивающие API.4. Если уж выводить артикул в админке, то надо бы выводить подобно тому, как стандартно сделано для цен, то есть.4.1 все артикулы,4.2 с возможностью редактирования. В целом похоже на изобретение велосипеда, и весьма кривого... Огромное спасибо за п.3.Может есть похожий вариант сделать доп. артикул? Quote Link to post Share on other sites
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.