77mhz Опубликовано 20 февраля, 2019 Жалоба Поделиться Опубликовано 20 февраля, 2019 Добрый день, подскажите, возможно ли убрать нужную мне категорию из меню ? Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 20 февраля, 2019 Жалоба Поделиться Опубликовано 20 февраля, 2019 Добрый день, подскажите, возможно ли убрать нужную мне категорию из меню ?Скройте её в админке. Цитата Ссылка на сообщение Поделиться на другие сайты
77mhz Опубликовано 20 февраля, 2019 Автор Жалоба Поделиться Опубликовано 20 февраля, 2019 Скройте её в админке.Сделать не активной ? Тогда категория перестаёт отображаться везде. Мне нужно что бы она отображалась по ссылке но не в меню Цитата Ссылка на сообщение Поделиться на другие сайты
Решение Kosjak76 Опубликовано 20 февраля, 2019 Решение Жалоба Поделиться Опубликовано 20 февраля, 2019 {if $c->visible && $c->id != 'АйДи_вашей_категории'} Как-то так Цитата Ссылка на сообщение Поделиться на другие сайты
77mhz Опубликовано 20 февраля, 2019 Автор Жалоба Поделиться Опубликовано 20 февраля, 2019 {if $c->visible && $c->id != 'АйДи_вашей_категории'} Как-то так {assign var="level" value=1} {function name=categories_tree} {if $categories} <ul id="nav" ul-level='{$level}' {if $level == 1}class='top_ul'{else}class='sub_ul ul_level_{$level}'{/if}> {foreach $categories as $c} {if $c->visible} <li class='level_{$level} {if in_array($category->id, $c->children)}active{/if}'> <a href="catalog/{$c->url}" data-category="{$c->id}">{$c->name|escape}</a> {categories_tree categories=$c->subcategories level=$level+1} </li> {/if} {/foreach} </ul> {/if} {/function} {categories_tree categories=$categories} Подскажите, в какое месте поставить ? Цитата Ссылка на сообщение Поделиться на другие сайты
Gruzin Опубликовано 20 февраля, 2019 Жалоба Поделиться Опубликовано 20 февраля, 2019 К шестой строке допишите то чего не хватает ))) Цитата Ссылка на сообщение Поделиться на другие сайты
77mhz Опубликовано 20 февраля, 2019 Автор Жалоба Поделиться Опубликовано 20 февраля, 2019 К шестой строке допишите то чего не хватает )))Спасибо Цитата Ссылка на сообщение Поделиться на другие сайты
mistika Опубликовано 4 декабря, 2019 Жалоба Поделиться Опубликовано 4 декабря, 2019 (изменено) А если надо создать группу категорий, которые не надо отображать в меню, но при этом в сайтмэпе они должны быть и их же скрытые надо вывести в отдельном меню. Никто таким не занимался, нет идей как это сделать? Теоретически я могу тегами нечто подобное создать но + ув и tag в урле, а мне надо категория/раздел.при этом материнская категория должна учитываться, т.к. эти подкатегории относятся к отдельным группам товаров. грубо говоря, мне надо создать что то типа перед витриной в категориях. Изменено 4 декабря, 2019 пользователем mistika Цитата Ссылка на сообщение Поделиться на другие сайты
shooroop Опубликовано 4 декабря, 2019 Жалоба Поделиться Опубликовано 4 декабря, 2019 А если надо создать группу категорий, которые не надо отображать в меню, но при этом в сайтмэпе они должны быть и их же скрытые надо вывести в отдельном меню. Никто таким не занимался, нет идей как это сделать? Теоретически я могу тегами нечто подобное создать но + ув и tag в урле, а мне надо категория/раздел.при этом материнская категория должна учитываться, т.к. эти подкатегории относятся к отдельным группам товаров. грубо говоря, мне надо создать что то типа перед витриной в категориях. добавить в таблице категориий tinyint а в админке у категорий input и если чекбокс у инпута стоит то не показывать категорию все просто Цитата Ссылка на сообщение Поделиться на другие сайты
mistika Опубликовано 5 декабря, 2019 Жалоба Поделиться Опубликовано 5 декабря, 2019 добавить в таблице категориий tinyint а в админке у категорий input и если чекбокс у инпута стоит то не показывать категорию все простоБольшое Человеческое Спасибо! Извиняюсь за дотошность, в синтаксисе в нестандартных ситуациях не сильна, а вызвать их как можно в pruducts.tpl именно эти у которых чекбокс снят? Цитата Ссылка на сообщение Поделиться на другие сайты
shooroop Опубликовано 5 декабря, 2019 Жалоба Поделиться Опубликовано 5 декабря, 2019 (изменено) Большое Человеческое Спасибо! Извиняюсь за дотошность, в синтаксисе в нестандартных ситуациях не сильна, а вызвать их как можно в pruducts.tpl именно эти у которых чекбокс снят? <!-- Меню каталога --> <div id="catalog_menu"> {* Рекурсивная функция вывода дерева категорий *} {function name=categories_tree_two} {if $categories} <ul> {foreach $categories as $c} {* Показываем только видимые категории *} {if $c->visible and $c->checkbox} {* Делаем вывод категорий С галкой "2й блок" *} {if $c->cat_2} <li> {if $c->image}<img src="{$config->categories_images_dir}{$c->image}" alt="{$c->name|escape}">{/if} <a {if $category->id == $c->id}class="selected"{/if} href="catalog/{$c->url}" data-category="{$c->id}">{$c->name|escape}</a> {categories_tree_two categories=$c->subcategories} </li> {else} {/if} {/if} {/foreach} </ul> {/if} {/function} {categories_tree_two categories=$categories} </div> <!-- Меню каталога (The End)--> на примере стандартного кода к {if $c->visible} добавил {if $c->visible and $c->checkbox}проверку на чекбокс если он равен 1 в базе так же вам в категориес апи надо добавить в выборку с.checkbox Изменено 5 декабря, 2019 пользователем shooroop Цитата Ссылка на сообщение Поделиться на другие сайты
mistika Опубликовано 10 декабря, 2019 Жалоба Поделиться Опубликовано 10 декабря, 2019 (изменено) Основная мысль понятна. Спасибо. Сделала, может кому пригодится.1. В поле s_categories поле tinyint со значением 1 или 0 кому как надо по умолчанию чтобы вкл выкл было2. в папке api categories.php где выбираем все категории там добавить имя созданного поля по примеру перечисленных полей, у всех по разному. у кого То c.visible, c.position и др, у кого-то без c смотрите сами.3. В папке view CategoryAdmin.php примерно с 30 по 40 строки есть $category->name = $this->request->post('name');$category->visible = $this->request->post('visible', 'boolean');по примеру вставить название вашего поля4. Дальше где вы хотите. может вы по другому захотите, мне удобно в самой категории галку ставитьВ файле дизайна категории где основная форма вставляете ВАШЕПОЛЕ}checked{/if}/> Включить 5. Далее в шаблоне дизайна делаете вывод где хотите, хотите в продукте, хотите в категориях.. Смысл в том, что если галка стоит - то отображать в месте вывода, если не стоит, то не отображать. галку АКТИВНЫЙ у категории в этом случае ставить не надо, чтобы в меню не отображалось6. В файле sitemap.xml делаете вывод по строчкам не подскажу у меня расширенный сайтмэп, но раздел Категории тамif($c->chek) { $url = $simpla->config->root_url.'/catalog/'.esc($c->url); print "\t"."\n"; print "\t\t$url"."\n"; print "\t\t$lastmod"."\n"; }Я сделала для подкатегорий это. Вывод в продуктсе выглядит так{if $categories} {foreach $category->subcategories as $c} {if $c->chek} {$c->name} {/if} {/foreach} {/if}И возник вопрос. вы могли бы подсказать как там else написать, чтобы сайт не падал смысл в чем. Оно выводит сейчас то, что я цепляю к родительской категории в подкатегориях, а как сделать так, чтобы1. помимо прицепленных подкатегорий к категории 2 уровня, там же выводилась верхняя родительская категория 1 уровня?2. в родительской категории 1 уровня выводились все доп поля CHEK!!!! из дочерних подкатегорий?ппц сложно объяснить, попробую пример написатьКатегория главнаяПодкатегория - у нее скрытые Подподкатегория - тоже имеет скрытыеВ подкатегории и Подподкатегория я бы хотела вывести Категория главная (галочку включить ставим)А в Категория главная вывести все скрытые из всех подкатегорий) з.ы. у меня поле chek вы можете назвать хоть 666 Изменено 10 декабря, 2019 пользователем mistika Цитата Ссылка на сообщение Поделиться на другие сайты
shooroop Опубликовано 10 декабря, 2019 Жалоба Поделиться Опубликовано 10 декабря, 2019 (изменено) Основная мысль понятна. Спасибо. Сделала, может кому пригодится.1. В поле s_categories поле tinyint со значением 1 или 0 кому как надо по умолчанию чтобы вкл выкл было2. в папке api categories.php где выбираем все категории там добавить имя созданного поля по примеру перечисленных полей, у всех по разному. у кого То c.visible, c.position и др, у кого-то без c смотрите сами.3. В папке view CategoryAdmin.php примерно с 30 по 40 строки есть $category->name = $this->request->post('name');$category->visible = $this->request->post('visible', 'boolean');по примеру вставить название вашего поля4. Дальше где вы хотите. может вы по другому захотите, мне удобно в самой категории галку ставитьВ файле дизайна категории где основная форма вставляете ВАШЕПОЛЕ}checked{/if}/> Включить 5. Далее в шаблоне дизайна делаете вывод где хотите, хотите в продукте, хотите в категориях.. Смысл в том, что если галка стоит - то отображать в месте вывода, если не стоит, то не отображать. галку АКТИВНЫЙ у категории в этом случае ставить не надо, чтобы в меню не отображалось6. В файле sitemap.xml делаете вывод по строчкам не подскажу у меня расширенный сайтмэп, но раздел Категории там if($c->chek) { $url = $simpla->config->root_url.'/catalog/'.esc($c->url); print "\t"."\n"; print "\t\t$url"."\n"; print "\t\t$lastmod"."\n"; } Я сделала для подкатегорий это. Вывод в продуктсе выглядит так {if $categories} {foreach $category->subcategories as $c} {if $c->chek} {$c->name} {/if} {/foreach} {/if} И возник вопрос. вы могли бы подсказать как там else написать, чтобы сайт не падал смысл в чем. Оно выводит сейчас то, что я цепляю к родительской категории в подкатегориях, а как сделать так, чтобы1. помимо прицепленных подкатегорий к категории 2 уровня, там же выводилась верхняя родительская категория 1 уровня?2. в родительской категории 1 уровня выводились все доп поля CHEK!!!! из дочерних подкатегорий? ппц сложно объяснить, попробую пример написать Категория главнаяПодкатегория - у нее скрытыеПодподкатегория - тоже имеет скрытые В подкатегории и Подподкатегория я бы хотела вывести Категория главная (галочку включить ставим) А в Категория главная вывести все скрытые из всех подкатегорий) з.ы. у меня поле chek вы можете назвать хоть 666 view/Indexview.php после // Категории товаров $this->design->assign('categories', $this->categories->get_categories_tree()); добавить // Категории товаров $this->design->assign('categories_check', $this->categories->get_categories_tree(array('check'=>1))); и там где не надо check выводить в шаблоне изменить {function name=categories_tree_new} {if $categories_check} ..... {categories_tree_new categories=$categories_check} {/if} Изменено 10 декабря, 2019 пользователем shooroop Цитата Ссылка на сообщение Поделиться на другие сайты
mistika Опубликовано 16 декабря, 2019 Жалоба Поделиться Опубликовано 16 декабря, 2019 Большое спасибо. Но у меня возникла непредвиденная ситуация с предыдущим решением.Всё работает примерно сутки, потом на месте витрины в этих скрытых подкатегориях появляется ошибка 404. Первый раз помогло просто почистить кэш на сервере.через сутки опять отвалилось. Чистка кэша не помогла, закомментировала код, через несколько часов раскомментировала - опять работает. Через сутки 404) Что может вызывать такой неожиданный эффект? Цитата Ссылка на сообщение Поделиться на другие сайты
shooroop Опубликовано 16 декабря, 2019 Жалоба Поделиться Опубликовано 16 декабря, 2019 Большое спасибо. Но у меня возникла непредвиденная ситуация с предыдущим решением.Всё работает примерно сутки, потом на месте витрины в этих скрытых подкатегориях появляется ошибка 404. Первый раз помогло просто почистить кэш на сервере.через сутки опять отвалилось. Чистка кэша не помогла, закомментировала код, через несколько часов раскомментировала - опять работает. Через сутки 404) Что может вызывать такой неожиданный эффект? хостинг? Цитата Ссылка на сообщение Поделиться на другие сайты
mistika Опубликовано 17 декабря, 2019 Жалоба Поделиться Опубликовано 17 декабря, 2019 fozzy. Весь сайт корректно работает ошибка именно на эти доп категории. А какой механизм сбоя может быть на хостинге? Они безбожно тупят я третьи сутки с ними переписываюсьВ cpanelпоявились вот такие ошибки. Техподдержка вместо ответа wtf попросила спросить у программиста какие требованияпод мой сайт симпла 2.2.4 Цитата Ссылка на сообщение Поделиться на другие сайты
alexivchenko Опубликовано 17 декабря, 2019 Жалоба Поделиться Опубликовано 17 декабря, 2019 (изменено) fozzy. Весь сайт корректно работает ошибка именно на эти доп категории. А какой механизм сбоя может быть на хостинге? Они безбожно тупят я третьи сутки с ними переписываюсьВ cpanelпоявились вот такие ошибки. Техподдержка вместо ответа wtf попросила спросить у программиста какие требованияпод мой сайт симпла 2.2.4 подозреваю, что это ваш сайт pechnoydom.ru и на нем стоит включенный smarty_caching = true; Выключите его, он не правильно работает. На вашем месте, я бы обновил Simpla и Smarty Изменено 17 декабря, 2019 пользователем alexivchenko Цитата Ссылка на сообщение Поделиться на другие сайты
mistika Опубликовано 17 декабря, 2019 Жалоба Поделиться Опубликовано 17 декабря, 2019 (изменено) Спасибо большое, сейчас попробуюЯ бы с радостью обновила, но у меня ппц сколько изменений и доработок навернуто, я не знаю как обновить не задев их. нет(( выключеноsmarty_caching = false; Изменено 17 декабря, 2019 пользователем mistika Цитата Ссылка на сообщение Поделиться на другие сайты
alexivchenko Опубликовано 17 декабря, 2019 Жалоба Поделиться Опубликовано 17 декабря, 2019 или у вас в htaccess указана настройка кэширования не верно <ifModule mod_expires.c> ExpiresActive On #по умолчанию кеш в 5 секунд ExpiresDefault "access plus 5 seconds" #кэшировать флэш и изображения на месяц ExpiresByType image/x-icon "access plus 2592000 seconds" ExpiresByType image/jpeg "access plus 2592000 seconds" ExpiresByType image/png "access plus 2592000 seconds" ExpiresByType image/gif "access plus 2592000 seconds" ExpiresByType application/x-shockwave-flash "access plus 2592000 seconds" #кэшировать css, javascript и текстовые файлы на одну неделю ExpiresByType text/css "access plus 604800 seconds" ExpiresByType text/javascript "access plus 604800 seconds" ExpiresByType application/javascript "access plus 604800 seconds" ExpiresByType application/x-javascript "access plus 604800 seconds" #кэшировать html и htm файлы на один день ExpiresByType text/html "access plus 43200 seconds" #кэшировать xml файлы на десять минут ExpiresByType application/xhtml+xml "access plus 600 seconds" </ifModule> 3 дня это 259200 в секундах Получается, что у вас Строка ExpiresByType text/javascript "access plus 259200 seconds" указана как ExpiresByType text/js "access plus 259200 seconds" Цитата Ссылка на сообщение Поделиться на другие сайты
mistika Опубликовано 18 декабря, 2019 Жалоба Поделиться Опубликовано 18 декабря, 2019 (изменено) или у вас в htaccess указана настройка кэширования не верно <ifModule mod_expires.c> ExpiresActive On #по умолчанию кеш в 5 секунд ExpiresDefault "access plus 5 seconds" #кэшировать флэш и изображения на месяц ExpiresByType image/x-icon "access plus 2592000 seconds" ExpiresByType image/jpeg "access plus 2592000 seconds" ExpiresByType image/png "access plus 2592000 seconds" ExpiresByType image/gif "access plus 2592000 seconds" ExpiresByType application/x-shockwave-flash "access plus 2592000 seconds" #кэшировать css, javascript и текстовые файлы на одну неделю ExpiresByType text/css "access plus 604800 seconds" ExpiresByType text/javascript "access plus 604800 seconds" ExpiresByType application/javascript "access plus 604800 seconds" ExpiresByType application/x-javascript "access plus 604800 seconds" #кэшировать html и htm файлы на один день ExpiresByType text/html "access plus 43200 seconds" #кэшировать xml файлы на десять минут ExpiresByType application/xhtml+xml "access plus 600 seconds" </ifModule> 3 дня это 259200 в секундах Получается, что у вас Строка ExpiresByType text/javascript "access plus 259200 seconds" указана как ExpiresByType text/js "access plus 259200 seconds"Стоп.. А вы где этот кусок взяли? у меня вообще нет в секундахExpiresByType text/javascript "access plus 1 year" вот так у меня А, что проблема с кэшированием я рассматривала как вариантно увы, этот код, что вы приводите я поставила уже после того как отчаялась и написала сюда.Собственно этот кусок был вставлен как одна из попыток решить проблему.родной код был такой. <ifmodule mod_expires.c> <filesmatch "\.(jpg|jpeg|png|gif|js|css|swf|ico|woff|mp3)$"> ExpiresActive on ExpiresDefault "access plus 7 days" </filesmatch></ifmodule> Изменено 18 декабря, 2019 пользователем mistika Цитата Ссылка на сообщение Поделиться на другие сайты
mistika Опубликовано 19 декабря, 2019 Жалоба Поделиться Опубликовано 19 декабря, 2019 или у вас в htaccess указана настройка кэширования не верно Получается, что у вас Строка ExpiresByType text/javascript "access plus 259200 seconds" указана как ExpiresByType text/js "access plus 259200 seconds" Мне пора в отпуск. 5 лет без выходных и отпусков не пошли на пользуВсё дошло до жирафа.Вы совершенно правы. Огромное спасибо, именно это и было проблемой. Цитата Ссылка на сообщение Поделиться на другие сайты
mistika Опубликовано 19 декабря, 2019 Жалоба Поделиться Опубликовано 19 декабря, 2019 хрена лысого как говорится, теперь в хроме вроде как работает, в опере нет. при этом если чекать код ответа сервера он 404.Что я сделала не так?) Цитата Ссылка на сообщение Поделиться на другие сайты
alexivchenko Опубликовано 19 декабря, 2019 Жалоба Поделиться Опубликовано 19 декабря, 2019 хрена лысого как говорится, теперь в хроме вроде как работает, в опере нет. при этом если чекать код ответа сервера он 404.Что я сделала не так?)Подчистить кеш и куки в опере Цитата Ссылка на сообщение Поделиться на другие сайты
mistika Опубликовано 20 декабря, 2019 Жалоба Поделиться Опубликовано 20 декабря, 2019 Ну вот так всегда, а ларчик просто открывался. Я же писала, что они выключены?)) и что вывод для них в сайтмэпе делала из-за этого, что выключенное там не отображается.Надо как выше писали в меню категорий {if $c->visible and !$c->имя_поля} вставить и включить в админке. Пока всё работает) Большое спасибо всем, кто принял участие в ветке. Цитата Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.