Добре дошъл/дошла, Гост. Моля, въведи своето потребителско име или се регистрирай.

Влез с потребителско име, парола и продължителност на сесията

Новини:

Автор Тема: exception 'Exception' with message 'Контактът не е намерен' in ...  (Прочетена 1601 пъти)

Неактивен vestoy

  • За малко е тук
  • *
  • Публикации: 34
  • Репутация: +1
Здравейте!

Имам следния проблем:
В меню имам връзка към стандартния компонент com_contacts ==> единичен контакт, но този ед. контакт е зададен за достъп само за регистрирани потребители на сайта (Access = Registered) в компонента; докато в менюто линкът е Public. Идеята е да се допускат само регистрираните потребители до контактната форма.
В старите версии на J! (по-спец. 1.5.x.) при опит за отваряне на връзка (компонент, статия и пр.) със зададен Access = Registered, се извеждаше съобщение (напр. "Трябва първо да се идентифицирате"), след което се правеше redirect към компонента com_user ==>  login, с което услужливо се подканяше посетителят да се логне или регистрира.
Тази реакция в J! 3.3.1. сега е доста занемарена, като специално за com_contact е задействана следната реакция (ред 294, файл: /components/com_contact/models/contact.php):
Код: newbielink:javascript:void(0); [nonactive]
            if (empty($result))
            {
               throw new Exception(JText::_('COM_CONTACT_ERROR_CONTACT_NOT_FOUND'), 404);
            }

А това води до:

exception 'Exception' with message 'Контактът не е намерен' in /home/.../.../components/com_contact/models/contact.php:296 Stack trace: #0 /home/.../.../components/com_contact/models/contact.php(230): ContactModelContact->getContactQuery(1) #1 /home/.../.../libraries/legacy/view/legacy.php(398): ContactModelContact->getItem() #2 /home/.../.../components/com_contact/views/contact/view.html.php(43): JViewLegacy->get('Item') #3 /home/.../.../libraries/legacy/controller/legacy.php(685): ContactViewContact->display() #4 /home/.../.../components/com_contact/controller.php(41): JControllerLegacy->display(true, Array) #5 /home/.../.../libraries/legacy/controller/legacy.php(722): ContactController->display() #6 /home/.../.../components/com_contact/contact.php(15): JControllerLegacy->execute(NULL) #7 /home/.../.../libraries/cms/component/helper.php(352): require_once('/home/seea/wwwd...') #8 /home/.../.../libraries/cms/component/helper.php(332): JComponentHelper::executeComponent('/home/seea/wwwd...') #9 /home/.../.../libraries/cms/application/site.php(178): JComponentHelper::renderComponent('com_contact') #10 /home/.../.../libraries/cms/application/site.php(224): JApplicationSite->dispatch() #11 /home/.../.../libraries/cms/application/cms.php(245): JApplicationSite->doExecute() #12 /home/.../.../index.php(40): JApplicationCms->execute() #13 {main}

на екрана  >:(

Подобна е реакцията и при опит да се покаже статия, която е публикувана само за регистрирани потребители - извежда се стандартното съобщение "Нямате права, за да видите този ресурс." и без какъвто и да е redirect към login на com_users.

Има ли начин да се "override"-не  тази реакция в двата компонента (както и в други, имащи подобна "твърда" реакция) в самия шаблон (напр. в  html/com_conatct/ и съотв. в html/com_content/ на шаблона), за да не се пипа стандартния код на J! 3.x. или може би има други решения?

Балгодаря предварително!