bishop1 0 Опубликовано 9 июля, 2020 Жалоба Share Опубликовано 9 июля, 2020 Может подскажите как отредактировать market.php что бы выводились только указанные в нем категории? (это будет второй файл поэтому указывать через админку не вариант, нужен отдельный файл специально для пары категорий) Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 9 июля, 2020 Жалоба Share Опубликовано 9 июля, 2020 1 минуту назад, bishop1 сказал: Может подскажите как отредактировать market.php что бы выводились только указанные в нем категории? (это будет второй файл поэтому указывать через админку не вариант, нужен отдельный файл специально для пары категорий) Править sql запрос в market.php WHERE cd.language_id='" . (int)$_SESSION['languages_id'] . "' AND c.categories_status= '1' AND c.yml_enable = '1' ORDER BY c.categories_id"); Добавлять сюда where c.categories_id not in (1,2,3) Перечисляя id категорий которых не должно быть. и тоже самое чуть ниже для sql запросы товаров, что б товаров из этих категорий не было where p2c.categories_id not in (1,2,3) Ссылка на сообщение Поделиться на другие сайты
bishop1 0 Опубликовано 9 июля, 2020 Автор Жалоба Share Опубликовано 9 июля, 2020 $categories_query = vam_db_query("SELECT c.categories_id, c.parent_id, cd.categories_name" . $yml_select . " FROM " . TABLE_CATEGORIES . " c LEFT JOIN " . TABLE_CATEGORIES_DESCRIPTION . " cd ON (c.categories_id = cd.categories_id) WHERE cd.language_id='" . (int)$_SESSION['languages_id'] . "' AND c.categories_status= '1' AND c.yml_enable = '1' ORDER BY c.categories_id"); where c.categories_id not in (1,2,3); ниже while ($categories = vam_db_fetch_array($categories_query)) { if(vam_not_null($categories['categories_name'])) { if (!isset($categories["yml_enable"]) || $categories["yml_enable"] == 1) { $categories_bid[$categories['categories_id']] = (!isset($categories["yml_bid"])) ? 0 : $categories["yml_bid"]; $categories_cbid[$categories['categories_id']] = (!isset($categories["yml_cbid"])) ? 0 : $categories["yml_cbid"]; vam_yml_out(' <category id="' . $categories['categories_id'] . '"' . (($categories['parent_id'] == "0") ? '>' : ' parentId="' . $categories['parent_id'] . '">') . vam_yml_clear_string($categories['categories_name']) . '</category>'); } else { $categories_disable[] = $categories_id; } } } where p2c.categories_id not in (1,2,3); Так? или ниже надо в сам блок вставлять? я просто синтаксис не знаю... Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 9 июля, 2020 Жалоба Share Опубликовано 9 июля, 2020 Нет конечно. Примерно так: $categories_query = vam_db_query("SELECT c.categories_id, c.parent_id, cd.categories_name" . $yml_select . " FROM " . TABLE_CATEGORIES . " c LEFT JOIN " . TABLE_CATEGORIES_DESCRIPTION . " cd ON (c.categories_id = cd.categories_id) WHERE c.categories_id not in (1,2,3) and cd.language_id='" . (int)$_SESSION['languages_id'] . "' AND c.categories_status= '1' AND c.yml_enable = '1' ORDER BY c.categories_id"); и: $products_sql = "SELECT distinct p.products_id, p2c.categories_id, p.products_model, p.products_quantity, p.products_image, p.products_ean, p.products_price, s.status, s.specials_new_products_price as price, p.products_tax_class_id, p.manufacturers_id, p.products_sort, GREATEST(p.products_date_added, IFNULL(p.products_last_modified, 0), IFNULL(p.products_date_available, 0)) AS base_date, pd.products_name, m.manufacturers_name, pd.products_description" . (($products_short_description > 0) ? ", pd.products_short_description " : " ") . "as proddesc " . (($yml_select > 0) ? ", p.yml_bid, p.yml_cbid " : "") . "FROM " . TABLE_PRODUCTS . " p LEFT JOIN " . TABLE_PRODUCTS_DESCRIPTION . " pd ON (p.products_id = pd.products_id) LEFT JOIN " . TABLE_MANUFACTURERS . " m ON (p.manufacturers_id = m.manufacturers_id) LEFT JOIN " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c ON (p.products_id = p2c.products_id) LEFT JOIN " . TABLE_SPECIALS . " s ON (p.products_id = s.products_id) WHERE p2c.categories_id not in (1,2,3) and p.products_status = 1" . (($yml_select > 0) ? " and p.products_to_xml = 1" : "") . " AND pd.language_id = " . (int)$_SESSION['languages_id'] . " group by p.products_id ORDER BY p.products_id ASC"; Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения