mishanya Опубликовано 6 мая, 2016 Жалоба Поделиться Опубликовано 6 мая, 2016 (изменено) так ))))это не смешно! Я же процитировал автора, он пишет что ДАЖЕ под меню, что мне и нужно было. Тогда зачем эта доработка вообще кому-то обосралась? вы не внимательно читаете. человек создал тему, в которой попросил помощи "что было бы хорошо создавать меню, подменю и тд." но сам не знал как. дальше он нашел на одном из сайтов доработку для добавления других вкладок меню из админки. при чем она не его. эту доработку написал Кроха, и ссылка на его сайт как раз есть вверху поста где выставлена доработка. никакого подменю там нет. Изменено 6 мая, 2016 пользователем mishanya Цитата Ссылка на сообщение Поделиться на другие сайты
Veni Опубликовано 6 мая, 2016 Жалоба Поделиться Опубликовано 6 мая, 2016 Мда! Всем спасибо )))Жаль, что того, что мне нужно никто еще на симпле не делал. Или я плохо пользуюсь поиском Цитата Ссылка на сообщение Поделиться на другие сайты
mishanya Опубликовано 6 мая, 2016 Жалоба Поделиться Опубликовано 6 мая, 2016 (изменено) Мда! Всем спасибо )))Жаль, что того, что мне нужно никто еще на симпле не делал. Или я плохо пользуюсь поиском если я правильно вас понял, то можно сделать так. например имеем три меню у которых есть страницы . 1 - главное (главная, услуги, о нас, каталог, контакты)2 - услуги (ремонт пк, ремонт телефонов, ремонт планшетов)3 - контакты (главный офис, сервисный центр) чтобы вывести одно меню в другом <ul> {foreach $pages as $p} {if $p->menu_id == 1} <li {if $page && $page->id == $p->id}class="selected"{/if}> <a data-page="{$p->id}" href="{$p->url}">{$p->name|escape}</a> {if $p->id==2} <ul> {foreach $pages as $p} {if $p->menu_id == 2} <li {if $page && $page->id == $p->id}class="selected"{/if}> <a data-page="{$p->id}" href="{$p->url}">{$p->name|escape}</a> </li> {/if} {/foreach} </ul> {/if} {if $p->id==5} <ul> {foreach $pages as $p} {if $p->menu_id == 3} <li {if $page && $page->id == $p->id}class="selected"{/if}> <a data-page="{$p->id}" href="{$p->url}">{$p->name|escape}</a> </li> {/if} {/foreach} </ul> {/if} </li> {/if} {/foreach} </ul> и получите такую структуру главнаяуслуги- ремонт пк- ремонт телефонов- ремонт планшетово наскаталогконтакты- главный офис- сервисный центр Изменено 6 мая, 2016 пользователем mishanya Цитата Ссылка на сообщение Поделиться на другие сайты
Kosjak76 Опубликовано 6 мая, 2016 Жалоба Поделиться Опубликовано 6 мая, 2016 Если вам нужна вложенность страниц, то это многие делали. И сделают еще, но не бесплатно.Если хотите нахаляву - возьмите то, что уже сделали и при помощи условий в Смарти выведите то, что вам нужно {foreach $pages as $p} {* Выводим только страницы из первого меню *} {if $p->menu_id == 1} <li {if $page && $page->id == $p->id}class="selected"{/if}> <a data-page="{$p->id}" href="{$p->url}">{$p->name|escape}</a> </li> {if $page->url == 'onas'} {foreach $pages as $p1} {* Выводим только страницы из нужного меню *} {if $p1->menu_id == 8} <li {if $page && $page->id == $p1->id}class="selected"{/if}> <a data-page="{$p1->id}" href="{$p1->url}">{$p1->name|escape}</a> </li> {/if} {/foreach} {/if} {/if} {/foreach} Цитата Ссылка на сообщение Поделиться на другие сайты
Veni Опубликовано 6 мая, 2016 Жалоба Поделиться Опубликовано 6 мая, 2016 если я правильно вас понял, то можно сделать так. например имеем три меню у которых есть страницы . 1 - главное (главная, услуги, о нас, каталог, контакты)2 - услуги (ремонт пк, ремонт телефонов, ремонт планшетов)3 - контакты (главный офис, сервисный центр) чтобы вывести одно меню в другом <ul> {foreach $pages as $p} {if $p->menu_id == 1} <li {if $page && $page->id == $p->id}class="selected"{/if}> <a data-page="{$p->id}" href="{$p->url}">{$p->name|escape}</a> {if $page->id==2} <ul> {foreach $pages as $p} {if $p->menu_id == 2} <li {if $page && $page->id == $p->id}class="selected"{/if}> <a data-page="{$p->id}" href="{$p->url}">{$p->name|escape}</a> </li> {/if} {/foreach} </ul> {/if} {if $page->id==5} <ul> {foreach $pages as $p} {if $p->menu_id == 3} <li {if $page && $page->id == $p->id}class="selected"{/if}> <a data-page="{$p->id}" href="{$p->url}">{$p->name|escape}</a> </li> {/if} {/foreach} </ul> {/if} </li> {/if} {/foreach} </ul> и получите такую структуру главнаяуслуги- ремонт пк- ремонт телефонов- ремонт планшетово наскаталогконтакты- главный офис- сервисный центра это в каком файле нужно править? Цитата Ссылка на сообщение Поделиться на другие сайты
mishanya Опубликовано 6 мая, 2016 Жалоба Поделиться Опубликовано 6 мая, 2016 а это в каком файле нужно править? где вы хотите выводить меню ваше там и править. по дефолту меню выводится в index.tpl. и я там немного поправил. должно быть не {if $page->id==2} а {if $p->id==2} Цитата Ссылка на сообщение Поделиться на другие сайты
MStyle28 Опубликовано 9 сентября, 2017 Жалоба Поделиться Опубликовано 9 сентября, 2017 Спасибо за решение.Каким образом можно разрешить выставлять одну и ту же страницу в разных меню? Что-то вроде категорий в товаре,при добавлении товара можно указать несколько категорий.Как сделать тоже самое с меню? Цитата Ссылка на сообщение Поделиться на другие сайты
shooroop Опубликовано 9 сентября, 2017 Жалоба Поделиться Опубликовано 9 сентября, 2017 Спасибо за решение.Каким образом можно разрешить выставлять одну и ту же страницу в разных меню? Что-то вроде категорий в товаре,при добавлении товара можно указать несколько категорий.Как сделать тоже самое с меню? редиректом например, или убрать проверку на url Цитата Ссылка на сообщение Поделиться на другие сайты
MStyle28 Опубликовано 9 сентября, 2017 Жалоба Поделиться Опубликовано 9 сентября, 2017 редиректом например, или убрать проверку на url Я тоже думал убрать проверку на url но тогда при наличии двух одинаковых страниц какую будет выводить?) Цитата Ссылка на сообщение Поделиться на другие сайты
shooroop Опубликовано 9 сентября, 2017 Жалоба Поделиться Опубликовано 9 сентября, 2017 Я тоже думал убрать проверку на url но тогда при наличии двух одинаковых страниц какую будет выводить?) уберите и узнаете Цитата Ссылка на сообщение Поделиться на другие сайты
MStyle28 Опубликовано 9 сентября, 2017 Жалоба Поделиться Опубликовано 9 сентября, 2017 уберите и узнаете Не подскажете как правильно убрать проверку? Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 9 сентября, 2017 Жалоба Поделиться Опубликовано 9 сентября, 2017 (изменено) Я тоже думал убрать проверку на url но тогда при наличии двух одинаковых страниц какую будет выводить?)Первую ТЗ списка. Я делал то что вам нужно, одну страницу можно поместить в нескольких меню, вот http://prntscr.com/gj1j83. Изменено 9 сентября, 2017 пользователем Noxter Цитата Ссылка на сообщение Поделиться на другие сайты
MStyle28 Опубликовано 9 сентября, 2017 Жалоба Поделиться Опубликовано 9 сентября, 2017 Первую ТЗ списка.Я делал то что вам нужно, одну страницу можно поместить в нескольких меню, вот http://prntscr.com/gj1j83.В вашем случае можно менять расположение страницы в списке в разных меню? Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 9 сентября, 2017 Жалоба Поделиться Опубликовано 9 сентября, 2017 В вашем случае можно менять расположение страницы в списке в разных меню? Да Цитата Ссылка на сообщение Поделиться на другие сайты
MStyle28 Опубликовано 10 сентября, 2017 Жалоба Поделиться Опубликовано 10 сентября, 2017 ДаНе поделитесь реализацией? Или на крайний случай подскажите как примерно реализовать? Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 10 сентября, 2017 Жалоба Поделиться Опубликовано 10 сентября, 2017 Не поделитесь реализацией? Или на крайний случай подскажите как примерно реализовать?Нужно сделать связь между меню и страницей. Цитата Ссылка на сообщение Поделиться на другие сайты
loxter Опубликовано 10 сентября, 2017 Жалоба Поделиться Опубликовано 10 сентября, 2017 (изменено) Каким образом можно разрешить выставлять одну и ту же страницу в разных меню? Можно предложить способ идейно неправильный, но простой в реализации. 1. в simpla/PageAdmin.php удалить (закомментировать) строки## Не допустить одинаковые URL разделов.if(($p = $this->pages->get_page($page->url)) && $p->id!=$page->id){$this->design->assign('message_error', 'url_exists');}else 2. в api/Pages.php заменить$query = "SELECT id, url, header, name, meta_title, meta_description, meta_keywords, body, menu_id, position, visibleFROM __pages $where LIMIT 1";на$query = "SELECT id, url, header, name, meta_title, meta_description, meta_keywords, body, menu_id, position, visibleFROM __pages $where order by id LIMIT 1"; 3. После этого можно добавить во второе меню, например, пункт 'Блог' из первого, создав новую страницу во втором меню, в которой вписать в поля названия и URL значения 'Блог' и 'blog' (совпадают со значениями страницы из первого меню). Остальные поля можно не заполнять.4. Из двух (или нескольких) страниц с одинаковым URL будет выводиться та, у которой наименьший ID. Именно для этого в запрос 2 добавлено order by id. Недостаток в том, что п.1 отключает проверку на дублирование URL. Думаю, это не сильно важно, поскольку обычно страниц немного, и дублирование, если и возникнет, будет быстро замечено и исправлено. Полностью не проверял. Если заметите другие недостатки, сообщайте. Изменено 10 сентября, 2017 пользователем loxter Цитата Ссылка на сообщение Поделиться на другие сайты
Kosjak76 Опубликовано 10 сентября, 2017 Жалоба Поделиться Опубликовано 10 сентября, 2017 1. в api/Pages.php удалить (закомментировать) строкиЭто нужно делать в simpla/PageAdmin.php Цитата Ссылка на сообщение Поделиться на другие сайты
loxter Опубликовано 10 сентября, 2017 Жалоба Поделиться Опубликовано 10 сентября, 2017 Исправил. Спасибо за замечание. Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 10 сентября, 2017 Жалоба Поделиться Опубликовано 10 сентября, 2017 Теперь представим сколько будет создано одинаковых страниц. Кому такое топорное решение нужно? Цитата Ссылка на сообщение Поделиться на другие сайты
loxter Опубликовано 10 сентября, 2017 Жалоба Поделиться Опубликовано 10 сентября, 2017 Теперь представим сколько будет создано одинаковых страниц. Ровно столько, сколько захочет администратор. Думаю, для среднего пользователя - в пределах 10-20. Экономить на спичках не обязательно. Кому такое топорное решение нужно? Вопрос индивидуальный. Каждый решает сам - нужно ему или нет и обычно при этом разрешения у третьих лиц не спрашивают.Как говорится, кто любит попа, а кто попадью. Цитата Ссылка на сообщение Поделиться на другие сайты
MStyle28 Опубликовано 10 сентября, 2017 Жалоба Поделиться Опубликовано 10 сентября, 2017 Теперь представим сколько будет создано одинаковых страниц.Кому такое топорное решение нужно?Не поделитесь Вашим решением? Цитата Ссылка на сообщение Поделиться на другие сайты
shooroop Опубликовано 10 сентября, 2017 Жалоба Поделиться Опубликовано 10 сентября, 2017 Не поделитесь Вашим решением? можно гораздо проще добавить еще поле в таблицу в админке если заполнить поле то подменяем url Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 11 сентября, 2017 Жалоба Поделиться Опубликовано 11 сентября, 2017 Не поделитесь Вашим решением?Решение для симплы не подойдёт так как делалось для другой системы, там другая архитектура.Могу разработать индивидуально но платно примерно 30-40$ Цитата Ссылка на сообщение Поделиться на другие сайты
Ivan923 Опубликовано 5 декабря, 2018 Жалоба Поделиться Опубликовано 5 декабря, 2018 На шаге 10 в файле menu.tpl ошибка "Меню" адрес MenusAdmin и да же файл созданный с названием MenuAdmin.php а ошибка и по сей день копируется.Правильно указываем в файле menu.tpl <li class="active"><a href="index.php?module=MenuAdmin">Меню</a></li> Цитата Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.