404 ошибка в разделе мои друзья

возникает 404 ошибка при отсутствии друзей

#1 22 августа 2016 в 06:03
Если нет друзей, то сайт выдает 404 ошибку, что не очень приятно, так как ссылка вынесена в боковое пользовательское меню и это дизориентирует новых пользователей. Гораздо лучше было бы, чтоб была просто пустая страница с уведомлением об отсутствии друзей или просто пустая страница с заголовком мои друзья. Как это сделать в icms 2.5.1?
#2 22 августа 2016 в 14:47

Если нет друзей, то сайт выдает 404 ошибку

vedomudr

Да, точно, не очень красиво выглядит
#3 23 августа 2016 в 08:22
А не проще поставить проверку на наличии друзей
  1. if ($is_friends_on && $friends)
как в \templates\default\controllers\users\profile_view.tpl.php и если нет друзей — не показывать ссылку.
#4 23 августа 2016 в 13:27

А не проще поставить проверку на наличии друзей

Ris

Наверное проще laugh, а как это сделать, куда добавить?
#5 23 августа 2016 в 13:38
Андрей,
А где оно у Вас отображается-то?
В дефолтном шаблоне ссылка "Друзья" есть только в профилях пользователей. Нет друзей — нет ссылки.
Никаких проблем не возникает.
Вы с vedomudr выташили отображение друзей куда-то еще и теперь героически боретесь с проблемой, которую сами же создали.
#6 23 августа 2016 в 15:44

А где оно у Вас отображается-то?

Ris

Не знаю, у меня в персональном меню была ссылка вида Мои друзья —
  1. users/{user.id}/friends
Я ее удалил сейчас
#7 23 августа 2016 в 16:38
Андрей,
Ну так и написали бы вместо нее что-нибудь типа
  1. if ($is_friends_on && $friends){href_to(users/{user.id}/friends)}
#8 23 августа 2016 в 18:51


Андрей,
Ну так и написали бы вместо нее что-нибудь типа

  1. if ($is_friends_on && $friends){href_to(users/{user.id}/friends)}

Ris

:)) поле не обрабатывает код. Эта ссылка указывается в виджете персональное меню.
#9 23 августа 2016 в 19:28

Ну так и написали бы вместо нее что-нибудь типа

Ris

Эта ссылка в виджете персональное меню, и персональное меню показывается везде на сайте.

Проблема в том, что если человек находится на странице какого-то контента и вдруг решил проверить своих друзей, а у него их нет, то когда он клацает на эту ссылку, ему отдаёт 404.
Эта ссылка в админке в меню прописывается, а Вы предлагаете решение для шаблона, я честно не понимаю куда его воткнуть.
Наверное это какая-то системная ошибка, потому как в случае наличия друзей, эта ссылка отрабатывает норм.
#10 23 августа 2016 в 19:37
Андрей, проблема в том, что вы сами в персональное меню добавили ссылку на друзей и хотите, чтобы она не показывалась когда друзей нет. В профиле, если друзей нет, то нигде ссылок на весь список не показывается. Т.е. фактически нет даже недочета.
#11 23 августа 2016 в 19:40

Т.е. фактически нет даже недочета.

Fuze

Может быть, но логично было бы, чтобы эта ссылка была в персональном меню, и когда друзей нет чтобы открывалась не 404, а допустим пустая страница "Вы еще не добавляли друзей", ну или подобная. Подскажите пожалуйста, как реализовать?
#12 23 августа 2016 в 19:48

Может быть, но логично было бы, чтобы эта ссылка была в персональном меню

Андрей
В дефолте нет этой ссылки? Нет.

и когда друзей нет чтобы открывалась не 404, а допустим пустая страница "Вы еще не добавляли друзей", ну или подобная

Андрей
Я не против, но это вам необходимо сейчас, так ведь?

Подскажите пожалуйста, как реализовать?

Андрей
Открыть экшен списка пользователей и вместо 404 страницы выводить "Вы еще не добавляли друзей"

/system/controllers/users/actions/profile_friends.php

убрать

  1. if (!$this->model->getFriendsCount($profile['id'])) { cmsCore::error404(); }
#13 23 августа 2016 в 19:57

В дефолте нет этой ссылки? Нет.

Fuze

Я согласен, просто у меня эта ссылка была с самого начала когда мне сверстали шаблон. Я как-то не обращал внимание, что если друзей нет, то она 404 отдаёт.

Я не против, но это вам необходимо сейчас, так ведь?

Fuze

Наверное не только мне smileПросто остальные ссылки в персональном меню, тоже какую-то функцию выполняют, на других страницах сайта. Я думаю, хотя могу ошибаться, что ссылка "мои друзья" должна быть в персональном меню.

убрать

  1. if (!$this->model->getFriendsCount($profile['id'])) { cmsCore::error404(); }

Fuze

А вместо этого вписать "Вы еще не добавляли друзей"
#14 23 августа 2016 в 20:04

А вместо этого вписать "Вы еще не добавляли друзей"

Андрей

Ничего не вписывайте. Просто закомментируйте эту строку.
Нормально выводится профиль с пустым списком друзей.
#15 23 августа 2016 в 20:13
Fuze, Ris, спасибо Друзья!
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.