Модификация на кода, Как да показвате продукти по тип, Catine - блог на уеб разработчици

За много разработчици под AdvantShop ситуацията е позната, че е необходимо да се направи селекция от проста селекция от базата данни, но стандартните хранилища не знаят как да направят това. Така че се сблъсках с такава задача, трябва да покажа продукти по тип в страничната лента. Блокирайте „Популярни стоки“ или блокирайте „Новини“, стандартни елементи на всеки онлайн магазин.

На ниво MS SQL заявки тази задача се решава с един SELECT th с прост JOIN th. Но тази функционалност, уви, не е реализирана в ядрото, където писах. Ето защо реших да напиша малък пач за ядрото на AdvantShop.

В двигателя на advanceshop вече са внедрени няколко хранилища за работа с хранилище на файлове - база данни. А хранилищата покриват голям брой от най-популярните и използвани заявки към бази данни. Реализирани са няколко класа хранилища, наречени . . . обслужване. cs . Те са разделени според вида на извършената работа, което е съвсем разбираемо и очевидно за разработчика.

Съществуващи хранилища:

Това, което ме изненада най-много, беше, че заявките се пишат директно във Visual Studio и не са обвити на ниво база данни в изгледи и не се извикват в C# код. Реших да не се отклонявам от общата идеология, не написах изглед в базата данни, но веднага написах заявка. Не е краен случай, ако изгледът на базата данни не е подходящ, може да се използва функция, която връща стойност на таблица в базата данни. Може би по този начин работи по-бързо, така че няма да споря как е по-правилно.

Но нито едно от тези хранилища не съм намерил метода, от който се нуждая, който връща списък с продукти по тип. Например всички продукти с тип "Ново" или "Отстъпка". Така че трябваше да го напиша сам.