приложение Поддержка. Темы дизайна. Есть решение
Приветствую!
Всё кручу в облаке Поддержку, и что-то подзапутался с одним моментом, прошу разъяснений.
Есть 3 витрины: основная, ВК, FB. В каждой из этих витрин есть личный кабинет в соответствующем интерфейсе. Сделал для Поддержки дополнительные поселения с соответствующими темами оформления. Но при переходе на ярлык "Мои запросы" приложение Поддержка отображается в основном интерфейсе, а хотелось бы в интерфейсе соответствующем витрине... Как сделать? Или настройками не обойтись?
Спасибо.
21 ответ
Когда заходите в "Мои запросы" из темы ВК, какой URL открывается? Правильное поселение, ВКшное или другое?
Если поселение ВКшное, убедитесь, что тема ВК поддержки унаследована от темы ВК сайта.
Если поселение открывается не ВКшное, а другое, отредактируйте my.nav.html в теме ВК поддержки и замените {$wa->getUrl('/frontend/myRequests')} на непосредственный URL, без всяких магических хэлперов.
Ну вот... Хотел аргументировано ответить что не работает такое решение, но в процессе экспериментов, похоже, поломал что-то в своем аккаунте в облаке... ))) Можно как-то вернуть к жизни или новый создавать? :) На все отдает 404...
Отправьте запрос на восстановление в поддержку через личный кабинет, пожалуйста. С логином-паролем для доступа сразу, наверное. Надо логи посмотреть. Сходу не могу предположить, что случилось.
Продолжаем разговор (с) Карлсон
Так вот... Не работает такое решение. Вероятно, я не совсем точно выразил свою мысль. Речь шла не о доступе из фронтенда к Поддержке, а о ярлыках в личном кабинете. Стенд можно глянуть тут. В поселении магазина ВК в подвал добавил ссылку ни личный кабинет, т.к. она не выведена в интерфейс этой темы. Логин: abc@def.ru Пароль: testing. Так вот если из магазина ВК войти в личный кабинет, то кликнув по вкладке "Мои запросы" все равно появляется интерфейс другого поселения. И пока мне не удалось добиться того, чтоб запросы появлялись в интерфейсе ВК. Я где-то туплю...?
Вы на мои вопросы не ответили. У вас по правильному УРЛу показывается неправильная тема дизайна? Или ссылка "мои запросы" ведёт на неправильный УРЛ с другой темой?
Упс, виноват... Да, она ведет на неправильный URL. Но как это регулировать? Рекомендуемые изменения описанные выше я внес.... Похоже, все-таки я где-то туплю... Но не пойму где... :)
Ссылка ведёт на неправильный URL, потому что хэлпер $wa->getURL() выбирает первое попавшееся поселение Поддержки на текущем домене. Она же не знает ничего про то, что вы хотите именно поселение с какой-то конкретной темой дизайна.
Первое, что я предложил - заменить вызов хэлпера на простой УРЛ. Захардкодить в шаблоне темы дизайна VK.
Сейчас ещё другой способ придумал. Изменить вызов хэлпера, попросив его выдать ссылку на поселение с нужной темой дизайна.
{$wa->getUrl('/frontend/myRequests', ['theme' => 'vk'])}
Вот... Именно это и хотел предложить! Это решит массу проблем! Пошел пробовать...
Леонид, попробовал... Результат там же и тот же. И в принципе, ожидаемый результат... Ну с чего вдруг работать этому коду, если изначально URL ведет не на то поселение где этот код имеется? :) Тут где-то в другом месте копать надо, имхо... Ведь при входи в личный кабинет отрабатывает шаблон поселения того приложения, которое отвечает за личный кабинет... Разве нет?
У вас ссылка на "Мои запросы" должна поменяться и вести на новое, правильное поселение. Этого не произошло?
Нет. И я, честно говоря, не пойму по каким причинам она должна поменяться, учитывая что изменения вносились в файл темы VK приложения Поддержка. Можете взглянуть. Логин есть в запросе в поддержку за номером 1323824.
Мда. На одном домене два личных кабинета с разными темами дизайна мне подружить не удалось.
В чём я вижу главную сложность. Когда генерится меню личного кабинета ("Мой профиль, Мои заказы, Мои запросы"), фреймворк собирает его по кусочкам. Каждое приложение отдаёт контент из своего файла my.nav.html из первого попавшегося поселения на текущем домене. Нет способа влиять на то, какое поселение будет использовано для генерации этого меню.
Можно придумать адский хак. В my.nav.html всех тем дизайна добавить логику, чтобы определить текущее активное поселение, его тему дизайна и на базе этого знания генерить УРЛ. Но это как-то... грустно.
Ну почему ж грустно? Мне кажется, это верный ход мыслей. Описанная мной проблема и ее проекции достаточно часто встречаются при использовании мультивитринности. Просто тема VK и FB настолько проста в настройках, что в других случаях всё действительно решалось заменой хелперов на конкретные URL. Но в данном случае, видимо, такой подход не прокатывает... Есть над чем подумать, есть пространство для развития :) А идея подбирать поселения основываясь на используемой теме - очень здравая идея! В жизнь её! Практически, настаиваю! :) Ну а теперь отвечу по поддоменам, там тоже все не так гладко... :)
P.S. А с покупкой Поддержки тогда подожду немного, хоть и очень хочется... :) Ну не комильфо иметь разные интерфейсы :)
Ещё можно разные личные кабинеты на разные поддомены поселить. У вас, если я правильно догадался, они живут на одном домене в разных каталогах. Это ломает логику $wa->getUrl(): хэлпер не знает, какое поселение поддержки с этого домена показать, и показывает первое попавшееся.
Расселение личных кабинетов по разным доменам избавит и от других подобных проблем. Наверняка они ещё встретятся.
Концептуально, да, согласен... Но есть меркантильный нюанс :) Если есть SSL-сертификат на домен, то при таком подходе он автоматом должен превратиться в Wildcard, а это уже лишние затраты... А ради чего? Ради того чтоб темы дизайна могли между собой поселения поделить? ;) Не, не комильфо, имхо... И если для магазина это должно быть мелочью, то для частного использования приближается к роскоши :)
Придумал ещё один грустный workaround. В теме дизайна vk во всех приложениях заменить вызовы $wa->myNav() на глухой HTML с захардкоженными ссылками на нужные страницы.
Наискосок подсчитал - не так много и выходит. Можно отметить как решение, на текущий момент :) Правда, еще не пробовал... Попробую - отмечу :)
А можно ли вообще убрать ссылку "Запросы" в кабинете пользователя?
Сайт - личный кабинет - мои запросы - выключить.
Знай и люби админку... Спасибо! :)
Ну да, хоть и, используя терминологию разработчика, грустный, но вполне рабочий вариант! Как временное решение - принимается. Спасибо! :)
P.S. Да, кстати.. Я таки понял почему должен был отрабатывать предложенный изначально код о котором вы говорили мне пару-тройку раз ))) Ну если б, конечно, не последовательность поселений.