Опубликовано: 8 сентября 201411 г Добавил вкладку в верхнее меню стандартным способом.Нужно, чтобы вкладка указывала на страницу /index.php/page/%D0%BA%D0%BE%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%BA%D0%B8.html По умолчанию, вкладка указывает на страницу:/index.php?app=quotations Сайт в облаке IPS, есть доспут к хтакцесс. Прописал в хтакцесс redirect /index.php?app=quotations /index.php/page/%D0%BA%D0%BE%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%BA%D0%B8.html - не помогло. Есть какой-то цивилизованный способ настроить редирект средствами ACP или хтакцесса, не прибегая к настройке апача, нгинкса и прочей туманной для меня области?
Опубликовано: 8 сентября 201411 г Автор Что-нибудь типа такого для хтакцесс: Options +FollowSymLinks RewriteEngine On RewriteCond %{HTTP_HOST} ^www\.c\.a108\.net RewriteRule ^(.*)$ http://c.a108.net/$1 [R=301,L] RedirectPermanent / http://www.a108.net/index.php/calendar/3-%D0%B2%D0%B0%D0%B9%D1%88%D0%BD%D0%B0%D0%B2%D1%81%D0%BA%D0%B8%D0%B9-%D0%BA%D0%B0%D0%BB%D0%B5%D0%BD%D0%B4%D0%B0%D1%80%D1%8C/
Опубликовано: 8 сентября 201411 г Автор Попробовал в globalTemplate заменить согласно рецепту: <a href='{parse url="{$data['app_link']}" seotitle="{$data['app_seotitle']}" template="{$data['app_template']}" base="{$data['app_base']}"}' title='{parse expression="sprintf( $this->lang->words['go_to_prefix'], IPSLib::getAppTitle($data['app_dir']) )"}'>{IPSLib::getAppTitle($data['app_dir'])}</a>на <if test="$data[app_dir]=='quotations'"><a href='http://www.site.ru/index.php/page/%D0%BA%D0%BE%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%BA%D0%B8.html' title='{$this->lang->words['blog_display_title']}'>{$this->lang->words['blog_display_title']}</a><else /> <a href='{parse url="{$data['app_link']}" seotitle="{$data['app_seotitle']}" template="{$data['app_template']}" base="{$data['app_base']}"}' title='{parse expression="sprintf( $this->lang->words['go_to_prefix'], IPSLib::getAppTitle($data['app_dir']) )"}'>{IPSLib::getAppTitle($data['app_dir'])}</a></if> - не помогло Что еще можно сделать? Просто прописывать код ссылки в globaltemplate не хочу, так как хочу оставить дефолтную вкладку. Неужели придется руками прописывать в шаблоне код кнопки с правильной ссылкой?!
Опубликовано: 8 сентября 201411 г Автор Вот это не вариант, так как хочется оставить скрытие вкладки и страницы для определенных групп (стандартный функционал).
Опубликовано: 8 сентября 201411 г Добавил вкладку в верхнее меню стандартным способом.Каким стандартным? Что мешает тем же стандартным способом прописать ей адрес?
Опубликовано: 8 сентября 201411 г Автор Иммется в виду, что сейчас добавил кнопку через ACP без правки шаблонов, в меню Управление приложениями и модулями. Также кнопку можно добавить в IP.Content. При таком стандартном добавлении есть очень полезные опции скрытия или показа вкладки определенным группам, но, к сожалению, нельзя прописать абсолютный url. Как прописать абсолютный url или сделать редирект? Вот так в IP.Content можно добавить кнопку, но поля для вставки абсолютного url нет. Возможности сильно ограничены: Изменено 8 сентября 201411 г пользователем Zero108
Опубликовано: 8 сентября 201411 г <if test="IPSMember::isInGroup($this->memberData, array(1,2))"> Блок для группы 1 или 2 </if>
Опубликовано: 8 сентября 201411 г Автор Еще нужно придумать, как класс прописывать "left active", если вкладка выбрана. Вот так не получается. <if test="showingapp:|:$data['app_show']"> {parse variable="appActive" default="" oncondition="$data['app_active']" value="active"} <li class='left {parse variable="appActive"}'><a href='/index.php/page/котировки.html' title="Перейти в раздел 'Котировки'">Котировки</a></li> </if>
Опубликовано: 8 сентября 201411 г Я что-то не понимаю, почему вы не используете встроенный в IP.Content менеджер главного меню, а выдумываете какие-то костыли?
Опубликовано: 8 сентября 201411 г Автор Потому что ссылку надо повесить на вкладку не такую, какую можно в этом менеджере задать. В менеджере ссылки на аддоны идут, а нужно сделать ссылку на страницу *.html в IP.Content, сделанную мной. Изменено 8 сентября 201411 г пользователем Zero108
Опубликовано: 8 сентября 201411 г $data - переменная цикла. Пользовательской вкладке нечего делать в цикле, значит и $data там будет не доступна (разве что вкладка находится в цикле под условием, что она относится к конкретному приложению). <if test="IPSMember::isInGroup($this->memberData, array(1,2))"> {parse variable="appActive" default="" oncondition="IPS_APP_COMPONENT == 'quotations'" value="active"} <li class='left {parse variable="appActive"}'><a href='/index.php/page/котировки.html' title="Перейти в раздел 'Котировки'">Котировки</a></li> </if> Код должен быть после цикла Если же в цикле, то перечитываем свой третий пост с рецептом.
Опубликовано: 8 сентября 201411 г Автор Ну, или редирект где-то прописать, как, например, для ссылки: http://www.a108.net/index.php?app=secrets
Опубликовано: 8 сентября 201411 г Автор $data - переменная цикла. Пользовательской вкладке нечего делать в цикле, значит и $data там будет не доступна (разве что вкладка находится в цикле под условием, что она относится к конкретному приложению). {parse variable="appActive" default="" oncondition="IPS_APP_COMPONENT == 'quotations'" value="active"} <li class='left {parse variable="appActive"}'><a href='/index.php/page/котировки.html' title="Перейти в раздел 'Котировки'">Котировки</a></li> Я удалил вкладку quotations из меню создания вкладок в ACP и вставляю код ссылки непосредственно в global template. Мне кажется, что вот это getCurrentApplication() == 'quotations'" - работать не будет. Изменено 8 сентября 201411 г пользователем Zero108
Опубликовано: 8 сентября 201411 г Потому что ссылку надо повесить на вкладку не такую, какую можно в этом менеджере задать. В менеджере ссылки на аддоны идут, а нужно сделать ссылку на страницу *.html в IP.Content, сделанную мной.В менеджере на кастомную вкладку вешается любая ссылка, никаких ограничений нет. P.S. Ваш "стандартный" способ создания вкладки, с помощью меню "Приложения", это и есть костыль, при наличии контента. P.P.S. Кроме этого, там вложенные меню можно делать, правда только одноуровневые. Это на случай, если не знаете.
Добавил вкладку в верхнее меню стандартным способом.
Нужно, чтобы вкладка указывала на страницу
/index.php/page/%D0%BA%D0%BE%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%BA%D0%B8.html
По умолчанию, вкладка указывает на страницу:
/index.php?app=quotations
Сайт в облаке IPS, есть доспут к хтакцесс. Прописал в хтакцесс
redirect /index.php?app=quotations /index.php/page/%D0%BA%D0%BE%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%BA%D0%B8.html
- не помогло.
Есть какой-то цивилизованный способ настроить редирект средствами ACP или хтакцесса, не прибегая к настройке апача, нгинкса и прочей туманной для меня области?