Перейти к содержимому


Фото
* * * * * 2 голосов

Создание дополнительного меню

меню

  • Чтобы отвечать, сперва войдите на форум
48 ответов в теме

#41 Noxter

Noxter
  • Фрилансер
  • 5 765 сообщений
  • Дизайн, Программирование, Верстка
  • Версия CMS:2.x
  • Откуда:Киев

Опубликовано 10.09.2017 - 03:50


Не поделитесь реализацией? Или на крайний случай подскажите как примерно реализовать?


Нужно сделать связь между меню и страницей.

#42 loxter

loxter
  • Забаненый
  • 118 сообщений
  • Дизайн
  • Откуда:paris

Опубликовано 10.09.2017 - 10:17

Каким образом можно разрешить выставлять одну и ту же страницу в разных меню?

 

Можно предложить способ идейно неправильный, но простой в реализации.


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, visible
FROM __pages $where LIMIT 1";
на
$query = "SELECT id, url, header, name, meta_title, meta_description, meta_keywords, body, menu_id, position, visible
FROM __pages $where order by id LIMIT 1";

3. После этого можно добавить во второе меню, например, пункт 'Блог' из первого, создав новую страницу во втором меню, в которой вписать в поля названия и URL значения 'Блог' и 'blog' (совпадают со значениями страницы из первого меню). Остальные поля можно не заполнять.

4. Из двух (или нескольких) страниц с одинаковым URL будет выводиться та, у которой наименьший ID. Именно для этого в запрос 2 добавлено order by id.

 

Недостаток в том, что п.1 отключает проверку на дублирование URL. Думаю, это не сильно важно, поскольку обычно страниц немного, и дублирование, если и возникнет, будет быстро замечено и исправлено.

 

Полностью не проверял. Если заметите другие недостатки, сообщайте.


Изменено: loxter, 10.09.2017 - 10:39


#43 Kosjak76

Kosjak76
  • Модератор
  • 3 587 сообщений
  • Программирование
  • Версия CMS:1.x, 2.x
  • Откуда:Харьков, Украина

Опубликовано 10.09.2017 - 10:26

1. в api/Pages.php удалить (закомментировать) строки

Это нужно делать в simpla/PageAdmin.php



#44 loxter

loxter
  • Забаненый
  • 118 сообщений
  • Дизайн
  • Откуда:paris

Опубликовано 10.09.2017 - 10:39

Исправил. Спасибо за замечание.



#45 Noxter

Noxter
  • Фрилансер
  • 5 765 сообщений
  • Дизайн, Программирование, Верстка
  • Версия CMS:2.x
  • Откуда:Киев

Опубликовано 10.09.2017 - 13:32

Теперь представим сколько будет создано одинаковых страниц.
Кому такое топорное решение нужно?

#46 loxter

loxter
  • Забаненый
  • 118 сообщений
  • Дизайн
  • Откуда:paris

Опубликовано 10.09.2017 - 13:49

Теперь представим сколько будет создано одинаковых страниц.

 

Ровно столько, сколько захочет администратор. Думаю, для среднего пользователя - в пределах 10-20. Экономить на спичках не обязательно.

 

Кому такое топорное решение нужно?

 

Вопрос индивидуальный. Каждый решает сам - нужно ему или нет и обычно при этом разрешения у третьих лиц не спрашивают.
Как говорится, кто любит попа, а кто попадью.



#47 MStyle28

MStyle28
  • Пользователь
  • 97 сообщений
  • Пользователь
  • Версия CMS:2.x
  • Откуда:Одесса

Опубликовано 10.09.2017 - 20:32

Теперь представим сколько будет создано одинаковых страниц.
Кому такое топорное решение нужно?

Не поделитесь Вашим решением?



#48 shooroop

shooroop
  • Фрилансер
  • 500 сообщений
  • Дизайн, Верстка
  • Версия CMS:2.x
  • Откуда:Antarktida

Опубликовано 10.09.2017 - 20:41

Не поделитесь Вашим решением?

 

 

можно гораздо проще добавить еще поле в таблицу

 

в админке  если заполнить поле  то подменяем url



#49 Noxter

Noxter
  • Фрилансер
  • 5 765 сообщений
  • Дизайн, Программирование, Верстка
  • Версия CMS:2.x
  • Откуда:Киев

Опубликовано 11.09.2017 - 09:47

Не поделитесь Вашим решением?

Решение для симплы не подойдёт так как делалось для другой системы, там другая архитектура.
Могу разработать индивидуально но платно примерно 30-40$





Также с меткой «меню»

0 пользователей читают эту тему

0 пользователей, 0 гостей, 0 скрытых