User Tools

Site Tools


ru:components-depending-on-the_page

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
ru:components-depending-on-the_page [2013/10/01 09:44]
Arkady [Каждой странице - свой компонент]
ru:components-depending-on-the_page [2013/10/02 03:57]
Oleg06 [Функция для вывода разных компонентов на разных страницах]
Line 69: Line 69:
  
 <​code><?​php <​code><?​php
-  if (return_i18n_component('​sidebar-'​.return_page_slug())) { +  if (return_component('​sidebar-'​.return_page_slug())) { 
-    ​get_i18n_component('​sidebar-'​.return_page_slug());​+    ​get_component('​sidebar-'​.return_page_slug());​
   } else {   } else {
-    ​get_i18n_component('​sidebar'​);​+    ​get_component('​sidebar'​);​
   }   }
 ?></​code>​ ?></​code>​
Line 78: Line 78:
 Компонент с именем //sidebar// - наш сайдбар по умолчанию. Остальным компонентам присваиваются имена //​sidebar-xxx//,​ где xxx  - текстовый идентификатор страницы (slug), на которой предполагается замена сайдбара по умолчанию на предназначенный именно для этой страницы. Компонент с именем //sidebar// - наш сайдбар по умолчанию. Остальным компонентам присваиваются имена //​sidebar-xxx//,​ где xxx  - текстовый идентификатор страницы (slug), на которой предполагается замена сайдбара по умолчанию на предназначенный именно для этой страницы.
  
-Другой способ – использование пользовательского поля (custom field) c именем «//​sidebar//​» - лучше применить выпадающий список с именами компонентов-сайдбаров. Допустимо и простое текстовое поле, но это не очень удобно из-за возможной ошибки при вводе имени компонента.+Другой способ – использование плагина [[http://​getsimplecms.ru/​plaginy-dlya-getsimple-cms/​plagin-i18n-custom-fields/​|I18N Custom Fields]]. Создайте пользовательское поле (custom field) c именем «//​sidebar//​» - лучше применить выпадающий список с именами компонентов-сайдбаров. Допустимо и простое текстовое поле, но это не очень удобно из-за возможной ошибки при вводе имени компонента.
  
 После формирования списка просто включаем выбранный компонент в шаблон:​ После формирования списка просто включаем выбранный компонент в шаблон:​
  
-<​code><?​php ​get_i18n_component(return_custom_field('​sidebar'​));​ ?></​code>​+<​code><?​php ​get_component(return_custom_field('​sidebar'​));​ ?></​code>​
  
 При желании можно предварительно проверить пользовательское поле с компонентом на существование:​ При желании можно предварительно проверить пользовательское поле с компонентом на существование:​
Line 88: Line 88:
 <​code><?​php <​code><?​php
   if (return_custom_field('​sidebar'​)) {   if (return_custom_field('​sidebar'​)) {
-    ​get_i18n_component(return_custom_field('​sidebar'​));​+    ​get_component(return_custom_field('​sidebar'​));​
   } else {   } else {
-    ​get_i18n_component('​sidebar'​);​+    ​get_component('​sidebar'​);​
   }   }
 ?></​code>​ ?></​code>​
Line 104: Line 104:
     get_custom_field('​sidebar'​);​     get_custom_field('​sidebar'​);​
   } else {   } else {
-    ​get_i18n_component('​sidebar'​);​+    ​get_component('​sidebar'​);​
   }   }
 ?></​code>​ ?></​code>​
Line 113: Line 113:
 **Вольный перевод одного из постов с англоязычного форума GetSimple** **Вольный перевод одного из постов с англоязычного форума GetSimple**
  
-Исходный текст для перевода взят [[http://​get-simple.info/​forum/​topic/​214/​function-per-page-components/​|отсюда]] приблизительно в  2011 году.+//Исходный текст для перевода взят [[http://​get-simple.info/​forum/​topic/​214/​function-per-page-components/​|отсюда]] приблизительно в  2011 году.//
  
 Как-то раз, верстая очередной сайт, я столкнулся с необходимостью замены подвалов на определенных страницах. Я попробовал поискать существующее решение на форуме.Так вот, в одном из постов **Chris Cagle** предложил следующий способ: ​ Как-то раз, верстая очередной сайт, я столкнулся с необходимостью замены подвалов на определенных страницах. Я попробовал поискать существующее решение на форуме.Так вот, в одном из постов **Chris Cagle** предложил следующий способ: ​
ru/components-depending-on-the_page.txt · Last modified: 2013/10/09 12:20 by Arkady