Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 Аватар для IRIP
514 / 146 / 28
Регистрация: 18.04.2015
Сообщений: 1,904
Записей в блоге: 16

Категории по полочкам

03.05.2019, 13:58. Показов 480. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть меню

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<div class="panel-body">
    <ul class="nav nav-pills nav-stacked category-menu">
        @foreach($categories as $cat)
            @if($cat->category_id == 49 || $cat->category_id ==58)
                <li class="@if(Route::current()->id == $cat->category_id) active @endif">
                    <a href="{{url('category/'.$cat->category_id)}}">{{$cat->title}}</a>
                </li>
            @else
                <li class="@if(Route::current()->id == $cat->category_id) active @endif">
                    {{----}}
                    <a class="nav-a" href="javascript:void(0)">{{$cat->title}}<b class="caret"></b></a>
                    <ul class="nav nav-pills nav-stacked category-menu nav-ul">
 
                    @foreach($sub_categories as $sub)
                            @if($cat->category_id == $sub->description)
 
                                <li @if(Route::current()->id == $sub->category_id) class="active"  @endif>
                                    <a href="{{url('category/'.$sub->category_id)}}"> - {{$sub->title}}</a>
                                </li>
                            @endif
                    @endforeach
                    </ul>
 
                </li>
            @endif
        @endforeach
    </ul>
</div>
Надо добавить условие Route::current()->id == $cat->category_id из списка то выводим только id из этого списка
списков может быть множество

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
    public function main_get(Request $request, $id, $count = 9, $orderBy = 'id', $sort = 'desc'){
        $languages = Languages::all()->first();
        if (!$langId = $request->cookie('language')) {
            $langId = $languages->id;
        }
        $segments = str_replace(url('/'), '', url()->current());
        $segments = array_filter(explode('/', $segments));
        if (isset($segments[1])) {
 
            $a = $segments[1];
            if ($a == 'fa' || $a == 'ru' || $a == "en" || $a == 'am') {
                App::setLocale($a);
                $langId = Languages::where('shortName', $a)->first()->id;
            }
        }
        $category = CategoriesTranslate::where(['language_id' => $langId, 'category_id' => $id])->first();
        $categories = CategoriesTranslate::where('language_id', $langId)->whereNull("description")->whereNull("hide")->get();
        $sub_categories = CategoriesTranslate::where('language_id', $langId)->whereNotNull("description")->whereNull("hide")->get();
        $sub_categories_id = CategoriesTranslate::where('language_id', $langId)->where("description", $id)->whereNull("hide")->get(['category_id']);
//        dd($sub_categories_id);
        $items = DB::table('items')->join('items_translates', 'items.id', '=', 'items_translates.item_id')
            ->select('items.*', 'items_translates.*')->where('language_id', $langId)->whereIn('category_id' , $sub_categories_id)->whereNull('items_translates.hide')->orderBy('items.' . $orderBy, $sort)->paginate($count);
        $currencyController = new CurrencyController();
        if (!$currency = $request->cookie('currency')) {
            $currency = "AMD";
        }
        $c = $currencyController->convert($currency);
        foreach ($items as $item) {
            $item->price = round($c * $item->price,2) . " " . $currency;
            $item->old_price = round($c * $item->old_price,2) . " " . $currency;
        }
 
        return view("front.category")->with([
            "title" => $category->title,
            'category' => $category,
            'categories' => $categories,
            'sub_categories' => $sub_categories,
            'languages' => $languages,
            'items' => $items,
        ]);
    }
 
    public function get(Request $request, $id, $count = 9, $orderBy = 'id', $sort = 'desc')
    {
        $languages = Languages::all()->first();
        if (!$langId = $request->cookie('language')) {
            $langId = $languages->id;
        }
        $segments = str_replace(url('/'), '', url()->current());
        $segments = array_filter(explode('/', $segments));
        if (isset($segments[1])) {
 
            $a = $segments[1];
            if ($a == 'fa' || $a == 'ru' || $a == "en" || $a == 'am') {
                App::setLocale($a);
                $langId = Languages::where('shortName', $a)->first()->id;
            }
        }
        $category = CategoriesTranslate::where(['language_id' => $langId, 'category_id' => $id])->first();
        $categories = CategoriesTranslate::where('language_id', $langId)->whereNull("description")->whereNull("hide")->get();
        $sub_categories = CategoriesTranslate::where('language_id', $langId)->whereNotNull("description")->whereNull("hide")->get();
        $items = DB::table('items')->join('items_translates', 'items.id', '=', 'items_translates.item_id')
            ->select('items.*', 'items_translates.*')->where(['language_id' => $langId, 'category_id' => $id])->whereNull('items_translates.hide')->orderBy('items.' . $orderBy, $sort)->paginate($count);
        $currencyController = new CurrencyController();
        if (!$currency = $request->cookie('currency')) {
            $currency = "AMD";
        }
        $c = $currencyController->convert($currency);
        foreach ($items as $item) {
            $item->price = round($c * $item->price,2) . " " . $currency;
            $item->old_price = round($c * $item->old_price,2) . " " . $currency;
        }
 
        return view("front.category")->with([
            "title" => $category->title,
            'category' => $category,
            'categories' => $categories,
            'sub_categories' => $sub_categories,
            'languages' => $languages,
            'items' => $items,
        ]);
    }
надо в get() с $id поработать, на сколько я понимаю.
И как вывести запрос, который выводил-бы категории только с нужным номером списка (list_number)?

в базе данных

SQL
1
2
3
4
5
6
CREATE TABLE IF NOT EXISTS `categories` (
  `id` INT(10) UNSIGNED NOT NULL,
  `created_at` TIMESTAMP NULL DEFAULT NULL,
  `updated_at` TIMESTAMP NULL DEFAULT NULL,
  `list_number` INT(1) DEFAULT NULL
) ENGINE=InnoDB AUTO_INCREMENT=273 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
Добавлено через 13 минут
PHP
1
2
$items = DB::table('items')->join('items_translates', 'items.id', '=', 'items_translates.item_id')
            ->select('items.*', 'items_translates.*')->where('language_id', $langId)->whereIn('category_id' , $sub_categories_id)->whereNull('items_translates.hide')->orderBy('items.' . $orderBy, $sort)->paginate($count);
надо запрос доработать, если я правильно понимаю
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
03.05.2019, 13:58
Ответы с готовыми решениями:

Разложите пожалуйста по полочкам код (не могу понять)
$connection = new mysqli($db_hostname, $db_username, $db_password, $db_database); if ($connection-&gt;connect_error)...

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

Категории бесконечной вложенности (Вывод определенной родительской категории с дочерними)
Имеется SQL база категорий вида (id,name,subcategory) - Если subcategory=0 то это родительская категория Создание массива: ...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
03.05.2019, 13:58
Помогаю со студенческими работами здесь

Распишите все по полочкам
Просьба подробно расписать за , что отвечает каждая строчка данной программы. #include &quot;stdafx.h&quot; #include...

разложите все по полочкам
Здравствуйте! помогите разобраться с прогой: смысл проги в том, что по траектории (восьмерка лежащая) движется фугура (звезда), звезда по...

Разложить скрипт по полочкам
function int2ip(num) { var ip = num % 256; for (var i = 1; i &lt;= 3; i++) { num = Math.floor(num / 256); ip = num % 256 + '.' + ip; ...

Код в представлении генерирует ссылки на категории товаров: при щелчке по категории идёт 404 ошибка
плин Добавлено через 14 секунд Этот код в представлении генерирует ссылки на категории товаров как я понимаю @foreach (var p in...

Разложите код по полочкам, пожалуйста
Вот код, взятый с хабра из статьи &quot;Визуализация каталогов на Python средствами NetworkX&quot; def get_tree(tree=, G=nx.Graph(),...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru