WebUser Posted August 29, 2021 Share Posted August 29, 2021 Здравствуйте. Подскажите, пожалуйста, как через так называемые "Ключи пользовательского местоположения", отобразить баннер только на главной странице, под хедером? Я пробовал все стандартные опции отображения баннера, но они выводят его везде, во всех разделах и даже темах. Quote Link to comment Share on other sites More sharing options...
gelo Posted August 29, 2021 Share Posted August 29, 2021 (edited) {{if request.app == "forums" and request.module == "forums" and request.controller == "index"}} {advertisement="ВАШ КЛЮЧ"} {{endif}} Я вставляю его под <div id='ipsLayout_contentArea'> Edited August 29, 2021 by gelo WebUser 1 Quote Link to comment Share on other sites More sharing options...
by_ix Posted August 29, 2021 Share Posted August 29, 2021 там же есть выбор своего местоположения. WebUser 1 Quote Link to comment Share on other sites More sharing options...
gelo Posted August 29, 2021 Share Posted August 29, 2021 2 минуты назад, by_ix сказал: там же есть выбор своего местоположения. Ему нужно только на главной странице форума, если выбирать стандартные значения то они сквозные . WebUser 1 Quote Link to comment Share on other sites More sharing options...
WebUser Posted August 29, 2021 Author Share Posted August 29, 2021 @gelo посмотрите пожалуйста, что-то не работает. Вот вставил код в globalTemplate Прописал ключ infotop Но ничего не работает. Баннер на главной не появился. 3 минуты назад, by_ix сказал: там же есть выбор своего местоположения. Верно, но как задать свое местоположение? Мне нужно чтобы баннер выводился под хэдером и только на главной. Quote Link to comment Share on other sites More sharing options...
gelo Posted August 29, 2021 Share Posted August 29, 2021 (edited) Попробуйте кеш сбросить... У меня на 4.5.х и 4.6.х работает. Возможно Вы картинку не загрузили? Edited August 29, 2021 by gelo WebUser 1 Quote Link to comment Share on other sites More sharing options...
WebUser Posted August 29, 2021 Author Share Posted August 29, 2021 1 минуту назад, gelo сказал: Попробуйте кеш сбросить... У меня на 4.5.х и 4.6.х работает. Кеш почистил, но баннер не появился. 2 минуты назад, gelo сказал: Возможно Вы картинку не загрузили? Если я переключаю режим на вывод под хэдером, то баннер показывается. Все настройки правильны. Провел эксперимент. Из вашего кода удалил вот это: {{if request.app == "forums" and request.module == "forums" and request.controller == "index"}} {{endif}} Оставил только {advertisement="infotop"} Баннер появился, вверху, но он тоже показывается везде. На всех разделах и темах. Quote Link to comment Share on other sites More sharing options...
by_ix Posted August 29, 2021 Share Posted August 29, 2021 (edited) посмотрите вики по пользовательским местоположениям, там явно должно быть то, что ищите. Edited August 29, 2021 by by_ix WebUser 1 Quote Link to comment Share on other sites More sharing options...
WebUser Posted August 29, 2021 Author Share Posted August 29, 2021 1 минуту назад, by_ix сказал: посмотрите вики по пользовательским местоположениям, там явно должно быть то, что ищите. Существует русскоязычная википедия по IP Board? Страно, гуглил, но не нашел. Видел только официальную английскую документацию, но я английский не знаю, а транслит выдает какую-то белеберду. Вот сама статья: https://invisioncommunity.com/4guides/monetization/internal-advertising-r57/#advanced Оказывается надо было убрать пробел, где IF, в самом начале и код заработал: {{ifrequest.app == "forums" and request.module == "forums" and request.controller == "index"}} {advertisement="infotop"} {{endif}} by_ix 1 Quote Link to comment Share on other sites More sharing options...
by_ix Posted August 29, 2021 Share Posted August 29, 2021 @WebUser я имел ввиду, что на вашем скрине есть ссылка на статью, в которой, наверное, должен был быть ответ. https://invisioncommunity.com/4guides/themes-and-customizations/tips-tricks_362/common-logic-checks-using-html-logic-r283/ про пробел вообще странная штука, как тогда условие работает. хм. WebUser 1 Quote Link to comment Share on other sites More sharing options...
Desti Posted August 29, 2021 Share Posted August 29, 2021 2 часа назад, gelo сказал: {{if request.app == "forums" and request.module == "forums" and request.controller == "index"}} Откройте тайну, на каком это написано языке? И как это вообще может работать, а особенно это: 1 час назад, WebUser сказал: Оказывается надо было убрать пробел, где IF, в самом начале и код заработал: {{ifrequest.app == "forums" and request.module == "forums" and request.controller == "index"}} WebUser 1 Quote Link to comment Share on other sites More sharing options...
Desti Posted August 29, 2021 Share Posted August 29, 2021 Сорри, с request понятно, даже понятно, почему пробел не нужен WebUser 1 Quote Link to comment Share on other sites More sharing options...
WebUser Posted August 29, 2021 Author Share Posted August 29, 2021 1 час назад, by_ix сказал: я имел ввиду, что на вашем скрине есть ссылка на статью, в которой, наверное, должен был быть ответ. Ааа. Ну ссылка там ведет вот на эту статью: https://invisioncommunity.com/4guides/monetization/internal-advertising-r57/#advanced Но в ней, даже с транслитом, я не смог разобраться. И этого кода, который предложил @gelo я там тоже не увидел. 1 час назад, by_ix сказал: https://invisioncommunity.com/4guides/themes-and-customizations/tips-tricks_362/common-logic-checks-using-html-logic-r283/ Эту статью не находил. Какой именно там блок нужно использовать? 1 час назад, by_ix сказал: про пробел вообще странная штука, как тогда условие работает. хм. 58 минут назад, Desti сказал: Откройте тайну, на каком это написано языке? И как это вообще может работать, а особенно это: Если вы знаете более правильный код - напишите, пожалуйста. Quote Link to comment Share on other sites More sharing options...
Desti Posted August 29, 2021 Share Posted August 29, 2021 Про request и прочие алиасы написано тут: https://invisioncommunity.com/4guides/themes-and-customizations/template-syntax/using-expressions-in-logic-r139/ Вставьте строку {{if request.app=='forums' && request.module=='forums' && request.controller=='index' }}{{echo("Wow1!"); die;}}{{endif}} в globalTemplate сразу после <body>, сохраните, переключитесь на закладку форума и нажмите Ctrl+F5. Должен быть пустой экран с надписью Wow! WebUser 1 Quote Link to comment Share on other sites More sharing options...
by_ix Posted August 29, 2021 Share Posted August 29, 2021 51 минуту назад, Desti сказал: даже понятно, почему пробел не нужен почему? WebUser 1 Quote Link to comment Share on other sites More sharing options...
Desti Posted August 29, 2021 Share Posted August 29, 2021 В силу особенностей обработки строки движком. В финале разница будет в "if (..." и "if(...", что для php безразлично. Код gelo должен работать без каких либо проблем и изменений, что в 4.5, что в 4.6 WebUser and by_ix 2 Quote Link to comment Share on other sites More sharing options...
WebUser Posted August 29, 2021 Author Share Posted August 29, 2021 36 минут назад, Desti сказал: Вставьте строку {{if request.app=='forums' && request.module=='forums' && request.controller=='index' }}{{echo("Wow1!"); die;}}{{endif}} в globalTemplate сразу после <body>, сохраните, переключитесь на закладку форума и нажмите Ctrl+F5. Должен быть пустой экран с надписью Wow! Сделал, получилось. Но что это означает? Я не понимаю. 27 минут назад, Desti сказал: В финале разница будет в "if (..." и "if(...", что для php безразлично. Хотите сказать, что код который дал @gelo и так был рабочий, с пробелом или без? В принципе да. Я сейчас попробовал вернуть пробел и код всё равно работает. Почему он с первого раза не заработал - не ясно. Может проблема в кеше браузера или еще что-то. Я в одной из тем, здесь, писал, что у меня часто виснет форум при отправке постов. Возможно какая то другая проблема уже с самим движком. by_ix 1 Quote Link to comment Share on other sites More sharing options...
Desti Posted August 29, 2021 Share Posted August 29, 2021 16 минут назад, WebUser сказал: Сделал, получилось. Но что это означает? Я не понимаю. Это визуальное подтверждение работы кода. Полезно, если что-то не выходит. WebUser 1 Quote Link to comment Share on other sites More sharing options...
WebUser Posted August 29, 2021 Author Share Posted August 29, 2021 Всё таки у меня баннер не работает. Точнее как, я захожу на форум, на главную - его нет. Обновляю страницу, он может появится. А потом снова обновляю страницу и он пропадает. И я не понимаю от чего это зависит и что вообще за мистика такая. 😏 Браузеры пробовал разные, Firefox, Opera и chrome и везде он то есть, то нету. Даже не понятно при каких условиях появляется, а при каких пропадает. Есть ли вообще другой способ отображения этого баннера? Quote Link to comment Share on other sites More sharing options...
WebUser Posted August 29, 2021 Author Share Posted August 29, 2021 Прикол в том, что скрывается не просто баннер, а весь код его отображения. Вот при нормальном отображении он есть в коде элемента: Стоит выйти/зайти или просто погулять по форуму и он пропадает, вместе с кодом: Вначале подумал, что у баннера существует какой-то собственный алгоритм. Ну по типу разработчики встроили туда какой-нибудь "Ненавязчивый режим" и он показывается несколько раз, а потом скрывается. Но! Я провел несколько экспериментов. Вот с таким кодом он показывается всегда! Не отключается. Стоит добавить условия вывода только на Главной И начинается мистика. Вот как бы обойти именно этот код? Есть ли способ вставить баннер через редактирование самой темы? css? Quote Link to comment Share on other sites More sharing options...
Desti Posted August 29, 2021 Share Posted August 29, 2021 Попробуйте без магии {{if ( \IPS\Dispatcher::i()->application->directory == 'forums' and \IPS\Dispatcher::i()->module->key == 'forums' and \IPS\Dispatcher::i()->controller == 'index'}} <div>{advertisement="infotop"}</div> {{endif}} У меня похожая конструкция уже много лет крутит баннеры без каких-либо проблем. WebUser 1 Quote Link to comment Share on other sites More sharing options...
WebUser Posted August 29, 2021 Author Share Posted August 29, 2021 1 минуту назад, Desti сказал: Попробуйте без магии Выдает ошибку Quote Link to comment Share on other sites More sharing options...
by_ix Posted August 29, 2021 Share Posted August 29, 2021 первая скобка лишняя, либо должна быть ещё закрывающая. WebUser 1 Quote Link to comment Share on other sites More sharing options...
WebUser Posted August 29, 2021 Author Share Posted August 29, 2021 1 минуту назад, by_ix сказал: первая скобка лишняя, либо должна быть ещё закрывающая. пробовал по всякому и скобку добавлять после {{endif}} и удалять первую скобку где {{if. пишет ошибку и не дает сохранить Quote Link to comment Share on other sites More sharing options...
by_ix Posted August 29, 2021 Share Posted August 29, 2021 WebUser я сказал скобка, а не фигурная скобка. норм работает. ток на главной. WebUser 1 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.