jessepinkman010101
@jessepinkman010101
Варю синий код

Как правильно выводить разные шаблоны на странице?

Есть таблица с товарами, которая имеет следующую структуру:

|ID       |NAME            |COUNT        |PROVIDER          |DATEOFPURCHASE      |CATEGORY          
|1        |Банан           |20           |Иван              |2007-01-01          |Fruits
|2        |Помидор         |500          |                  |2001-01-01          |Vegetables
|1        |Телефон         |2            |Альбинос          |                    |Phone


Делаю запрос в бд и вывожу товары с выбранной категорией

$category = $_POST['category'];
    $stock_list = [];
    $stock_view = $dbpdo->prepare("SELECT * FROM products 
                                   WHERE count > 0 
                                   AND category = ?
                                   ORDER BY id DESC");
    $stock_view->execute([$category]);
    if($stock_view->rowCount()>0) {
        while ($row = $stock_view->fetch(PDO::FETCH_BOTH)) {
        //заполняю массив
        $stock_list[] = [
                'id' => $row['id'],
                'name' => $row['name'],
                'count' =>  $row['count'],
                'provider' => $row['provider'],
                'date' => $row['DATEOFPURCHASE']
            ]; 

       }

      //далее отправляю массив в шаблон
       echo $tpl = $twig->render('page/tpl.twig', $stock_list);
    }


Теперь с чем у меня возникает проблема. Для примера я тут привел всего несколько столбцов и категорий, но на деле их больше и в зависимости от категории товара, выводиться таблица, например для Vegetables столбец provider не нужно выводить, а для фруктов нужно и так же для телефонов не нужно DATEOFPURCHASE а для остальных нужно. Единственный вариант, который пришел мне в голову, это в твиге сделать шаблон для каждой категории и проверять категорию if-ми и выводить нужный блок. Но мне кажется, что этот вариант ужасный и явно есть решение по лучше. Можно было бы сделать ифами, если было всего 2-3 категории, то не критично сделать пару шаблонов и страниц, но пару месяцев назад было 5 категорий а сейчас 30, не уверен, что через год не будет 200 и писать для каждого свой шаблон думаю не лучший вариант. Каким образом это можно автоматизировать

Пожалуйста, помогите мне решить эту проблему, буду благодарен. Любая информация по теме будет полезна.
  • Вопрос задан
  • 105 просмотров
Пригласить эксперта
Ответы на вопрос 1
BoriHagen
@BoriHagen
Как вариант написать единый шаблон для вывода, с разными условиями, в которых проверяется что за категория и в зависимости от этого что то выводится - а что то игнорируется. Главное без дублирования кода.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
LAPTOP.RU Москва
от 130 000 до 170 000 ₽
LAPTOP.RU Кострома
от 25 000 до 65 000 ₽
от 140 000 до 180 000 ₽
02 мар. 2021, в 14:48
2000 руб./за проект
02 мар. 2021, в 14:30
40000 руб./за проект
02 мар. 2021, в 14:20
40000 руб./за проект