Forums / National / Russian / Модули и плагины / Вывод HTML блоков на определенной странице

yourmaze
#1 2016-03-14 10:48

Доброго времени суток, уважаемые форумчане. У меня возникла глупейшая проблема. Я не могу понять как добавить статичный блок с HTML кодом на определенную страницу. Допустим я хочу добавить на главную страницу блок "О нас", подскажите каким образом мне это сделать.  В документации ответ на свой вопрос найти я не смог. Поиск на форуме определенности тоже не принес. Очень нужна ваша подсказка sad

prostogorod
#2 2016-03-14 11:28

Можно так в код страницы вставить

 {FILE "{PHP.cfg.themes_dir}/{PHP.usr.theme}/banners/360x300.tpl"}

А в файл 360x300.tpl  вставить ваш html-код.

yourmaze
#3 2016-03-14 13:16

А если надо наоборот выводить блоки НЕ на главной странице. Куда вставлять код?


Dit bericht is bewerkt door yourmaze (2016-03-14 15:22, 8 jaren ago)
Macik
#4 2016-03-14 15:38

Можно воспользоваться «слотами» — Админ.панель → Конфигурация → Слоты меню. Выбрать там «Menu slot» #1-9 и разместить там текст (можно HTML). Потом вставить тег {PHP.cfg.menu#}, где # — номер слота.
Куда вставлять зависит от того, где нужен вывод.

https://github.com/macik
правильный хостинг — https://goo.gl/fjCa1F
yourmaze
#5 2016-03-14 16:07

С главной страницей все получилось, а вот куда добавлять код для всех страниц, кроме главной не пойму. Не уж то прийдется для каждой страницы отдельно вставлять?

Roffun
#6 2016-03-14 16:53
#41514 yourmaze:

С главной страницей все получилось, а вот куда добавлять код для всех страниц, кроме главной не пойму. Не уж то прийдется для каждой страницы отдельно вставлять?

Для всех страниц добавляйте в header.tpl или footer.tpl

Добавлено 13 минут спустя:

Вообще всё зависит от того, что нужно выводить, и где. Можно использовать как включение одного файла в другой, так и слоты или плагины.

Если нужно вставить часть верстки, то лучше использовать конструкцию FILE, как вам советовали выше, например я таким образом вывожу сайдбары в файлах, поиск, меню, это избавить от необходимости править в каждом индексном файле при изменениях.

Если нужно вывести некоторые блоки, скрипты , виджеты, то используйте слоты для меню, как вам выше советовал Macik.

Также можете воспользоваться плагинами, например я для этих целей использую несколько своих плагинов, myads и boxes. 

С помощью myads вывожу рекламные блоки (adsense например), также есть возможность вставлять их прямо в редактор.

С помощью boxes вывожу счетчики посещений, дополнительные css js , виджеты соцсетей и тому подобное. Оба плагина работают по тому же принципу что и слоты для меню, просто имеют больше возможностей.

Плюс независимо от выбора, любой из вариантов можно показать / спрятать в нужном месте с помощью IF ELSE

Улетел на другую планету, а там почты нету.. https://www.cotonti.com/forums/45298?m=posts

Dit bericht is bewerkt door Roffun (2016-07-08 19:54, 7 jaren ago)
yourmaze
#7 2016-03-14 18:19

Спасибо за подробное объяснение. И еще вопрос. Как определить главную страницу? Проверить пустой ли get? И как для главной выводить другой header.tpl

Roffun
#8 2016-03-14 18:30
#41517 yourmaze:

Спасибо за подробное объяснение. И еще вопрос. Как определить главную страницу? Проверить пустой ли get? И как для главной выводить другой header.tpl

Можно с помощью {PHP.env.ext} , для главной это будет index

<!-- IF {PHP.env.ext} == 'index' -->
главная
<!-- ELSE -->
не главная
<!-- ENDIF -->

Насчет другого header, не совсем понял вопрос, если разные блоки или шапка, можно использовать вышеуказанные конструкции

Добавлено 2 минуты спустя:

Насчет переменных , вот здесь почитайте

Добавлено 16 минут спустя:

#41517 yourmaze:

Проверить пустой ли get? 

Если для дебаггера, то можно с помощью {PHP|dump}  увидеть список всех переменных, в том числе get

А для получения содержимого конкретной переменной есть разные варианты, с помощью дампера их видно.

Например, если в браузере набрать httр://cotonti.com?test=test  , то содержимое после ? можно получить:

  • {PHP._GET.test}  выведет "test"
  •  
  • {PHP._REQUEST.test} выведет"test"

{PHP._SERVER.QUERY_STRING} выведет "test=test"

 

  • {PHP._SERVER.REQUEST_URI} выведет "/?test=test"

 

 

Улетел на другую планету, а там почты нету.. https://www.cotonti.com/forums/45298?m=posts

Dit bericht is bewerkt door Roffun (2016-03-14 18:50, 8 jaren ago)
yourmaze
#9 2016-03-14 19:20

То что нужно! Всем спасибо за помощьblush Тема закрыта.

Yusupov
#10 2016-03-14 19:44
#41518 Roffun:

Если для дебаггера, то можно с помощью {PHP|dump}  увидеть список всех переменных, в том числе get

А для получения содержимого конкретной переменной есть разные варианты, с помощью дампера их видно.

Например, если в браузере набрать httр://cotonti.com?test=test  , то содержимое после ? можно получить:

  • {PHP._GET.test}  выведет "test"
  •  
  • {PHP._REQUEST.test} выведет"test"

{PHP._SERVER.QUERY_STRING} выведет "test=test"

 

  • {PHP._SERVER.REQUEST_URI} выведет "/?test=test"

 

 

Получать и использовать такие значения напрямую не безопасно! 

Добавлено 3 минуты спустя:

Для получения GET, POST, COOKIE, REQUEST, PUT, DELETE, DIRECT значений нужно использовать функцию-фильтр cot_import(), которая фильтрует значения согласно нужному типу данных. 

Добавлено 5 минут спустя:

Например:

{PHP|cot_import('test', 'G', 'TXT')}

 


Dit bericht is bewerkt door Yusupov (2016-03-14 19:57, 8 jaren ago)
Roffun
#11 2016-03-14 21:07
#41520 Yusupov:

Получать и использовать такие значения напрямую не безопасно! 

Добавлено 3 минуты спустя:

Для получения GET, POST, COOKIE, REQUEST, PUT, DELETE, DIRECT значений нужно использовать функцию-фильтр cot_import(), которая фильтрует значения согласно нужному типу данных. 

Добавлено 5 минут спустя:

Например:

{PHP|cot_import('test', 'G', 'TXT')}

 

Примеры выше приведены для общего ознакомления с {PHP|dump}, для вывода на экран.

Улетел на другую планету, а там почты нету.. https://www.cotonti.com/forums/45298?m=posts