Най-добрият уеб дизайн и разработчици

ПРОБЛЕМ: Опитах няколко неща, за да накарам Drupal да спре да отиде на страницата за потребителски профил при влизане. Дори инсталирах модула LoginToboggan, който има хубави функции, просто не пречи на Drupal да изпраща всички потребители, които влизат в страницата на потребителския си профил. За да е ясно, LoginToboggan „по желание пренасочва [на] потребителя към определена страница, когато използва функцията„ незабавно влизане “- е САМО за нови потребители, а не за съществуващи потребители ... Да, знам, няма смисъл.

ЦЕЛ: Просто трябва да можете да зададете страницата за вход; не е необходимо да задавате зареждането на страницата въз основа на ролята, но хей, това би било хубаво, ако не е луд комплекс.

АКТУАЛИЗАЦИЯ: Разбрах поправка въз основа на моите нужди, вижте моя отговор по-долу.

Можеш:

  • Използвайте модула Дестинация за вход.
  • Позволете на потребителите си да влязат на адрес www.example.com/user?destination=some/path. Това ще ги пренасочи към www.example.com/some/path след изпращане на формуляра.
  • Напишете персонализиран модул, прилагащ hook_form_alter. Обяснено е тук: http://drupal.org/node/236234.
  • @marcvangend: Благодаря, това решение вече е направено, но ще проверя вашето предложение възможно най-скоро. Наздраве и отново благодаря !!

Разбрах го. И така, вие:

НАСТРОЙКА:

  1. Създайте СТРАНИЦА,
  2. Нека модулът за вход по подразбиране да се показва САМО на СТРАНИЦАТА, като се използват настройките за конфигуриране на БЛОК.
  3. При зареждане БЛОКОВЕТЕ са зададени САМО за показване на съдържание на потребителите на тази РОЛЯ.

ВЪПРОСИ: Долната страна е, че потребител, който НЕ е влязъл в системата, ще види страницата TITLE, а потребителят, който може да влезе, ще види същата страница TITLE.

Моля, коментирайте, ако това няма смисъл, ИЛИ публикувайте друг отговор, ако има по-добро решение. Благодаря!!

  • В това (доста хакерско, IMHO) решение използвате поведението, което блокът за вход по подразбиране пренасочва към страницата, на която е бил потребителят преди да влезе. Освен недостатъците, които вече споменахте, мисля, че този метод ще докаже да бъде много негъвкав в дългосрочен план. Има по-добри методи, вижте моя отговор.

Чувал съм, че няколко души използват модула с правила, за да насочват хората към различни страници при влизане, в зависимост от тяхната роля, или просто да направят общо пренасочване към страницата, от която е влязъл човекът.

http://drupal.org/project/rules

  • @Purcell: Възможно е, не знам. Чувал съм правила, когато се използват главно като контроли за работния процес на съдържанието, но наистина не съм имал възможност да ги разгледам. Благодаря за публикуването !!

Разбира се, можете да направите това в Drupal, като използвате модула Правила ...

Ето пример за такова правило за Drupal версия 7, в това, което се нарича Правила "формат за експортиране":

{ 'rules_redirect_selected_roles_to_selected_term_pages' : { 'LABEL' : 'Redirect selected roles to selected term pages', 'PLUGIN' : 'reaction rule', 'ACTIVE' : false, 'OWNER' : 'rules', 'REQUIRES' : [ 'rules' ], 'ON' : { 'user_login' : [] }, 'IF' : [ { 'user_has_role' : { 'account' : [ 'account' ], 'roles' : { 'value' : { '5' : '5' } } } } ], 'DO' : [ { 'redirect' : { 'url' : 'node\/123' } } ] } } 

Трябва да можете просто да „импортирате“ горното правило в собствената си инсталация на Drupal чрез Admin UI на Drupal, като използвате връзката с етикет „правило за внос"който се намира на относителна пътека admin/config/workflow/rules/reaction/import във вашия собствен Drupal сайт.

Още подробности за това, което всъщност прави горното правило:

  1. То се задейства от Правила Събитие = User has logged in.
  2. Той включва a Състояние на правилата което в случая е User has role(s) = subscriber. Всъщност 4 в горния формат за износ съответства на subscriber в инсталацията на Drupal, откъдето експортирах това, ако искате да промените, преди да импортирате, това 4 до a 3, би съответствало на administrator вместо това (просто изберете каквато "роля" искате, като я промените с помощта на потребителския интерфейс на правилата, след като сте импортирали това правило). Ако искате това да се прилага за която и да е роля, тогава просто пропуснете (изтрийте) това условие на правилата (най-лесният начин за извършване на такова изтриване е използването на потребителския интерфейс на правилата след импортирането на този пример).
  3. Той ще изпълнява a Правила Действие = Page redirect = node/123. Това node/123 е това, което се желае в инсталацията на Drupal, откъдето експортирах това, но можете просто да промените това на всеки валиден (относителен) път, който искате. Така че не забравяйте да промените това node/123 към относителния път на страницата, съответстващ на вашия "... страница, различна от потребителския профил при влизане ...'.

Това е, работи като чар!

Можете да го направите дори по-сложен, като подобрите правилото с опции като:

  • Пренасочване към страница (път), която зависи от ролята на потребителите.
  • Направете пренасочването в зависимост от деня (ите) от седмицата или от времето на деня (например по време на отворено / затворено работно време на магазин).

PS: ако се интересувате от (по-нататък) още примери за невероятни неща, които можете да направите с модула Правила, посетете тези отговори на Drupal.SE (на въпроси, маркирани с модула Правила).

е работил за вас: Charles Robertson | Искате ли да се свържете с нас?