2013-06-21 2 views
0

Я использую Perch CMS, и я хотел бы попытаться свести к минимуму количество шаблонов, которые я использовал.PHP if/else conditionals

Я хотел бы показывать и скрывать содержимое боковой панели в зависимости от того, какая страница просматривается.

Допустим, боковая панель имеет три модуля:

Module-A 
Module-B 
Module-C 

и у меня есть три страницы

/home 
/about 
/blog 

Я думаю, что нужно написать «еще, если» заявление, как бы я написать следующее в PHP?

Если на главной страницы шоу Модуль-A
Если на о странице шоу Module-B
Если на любой другой страницы показать все модули

+0

Вы делаете поиск Google на условных и PHP? Это может быть хорошим началом. –

+0

Да, но я почти ничего не знаю о PHP - кажется немного сложным. Я использовал условные выражения в шаблонах WordPress, но я не могу написать «чистый» PHP. Подумал, что я попробую stackoverflow. – StephenMeehan

+0

Вы должны действительно попытаться изучить PHP перед работой с CMS. Поверьте мне, все будет легко, как только вы узнаете основы. – FLX

ответ

0

Вы знаете, что много мало и простой в использовании CMS являются свободными и открытыми исходными ?

Я не знаю, как вы должны включать в свои модули, но для фильтрации можно использовать switch (лучше elseif)

switch($page){ 
    case '/home': 
    include(Module-A); 
    break; 

    case '/about': 
    include(Module-B); 
    break; 

    case '/blog': 
    include(Module-C); 
    break; 
} 
+0

Да, мне очень нравится Perch, я рад заплатить небольшую лицензионную плату за отличный продукт. «переключатель» выглядит интересным. Как я могу вставить HTML в include()? я могу использовать include (snippet.html); – StephenMeehan

+0

Да, точно. "Включают в себя (snippet.html);" будет искать файл snippet.html и вставлять его содержимое. Не забудьте указать путь к файлу, если snippet.html находится в папке шаблона, ваш include будет включать include (template/snippet.html); – FLX

+0

Хммм, что это означает бит 'switch ($ page)'? Я посмотрел на http://www.w3schools.com/php/php_switch.asp и «switch» выглядит так, как мне нужно. но я не могу заставить его работать ... – StephenMeehan

0

Это не правильный ответ, поскольку я не знаю, как работает Перч, но это должно дать вам общее представление о том, как работают условные утверждения.

$page = ''; // Page name here, I don't know how you set that in Perch 

if($page == 'home_page'){ 
    echo $modulea; 
}elseif($page == 'about'){ 
    echo $moduleb; 
}else{ 
    echo $modulea . $moduleb . $modulec; 
} 
+0

Привет, спасибо за быстрый ответ! Как добавить HTML в «эхо»? – StephenMeehan

+0

Вы можете поместить его в отдельный файл и включить (module.html); или просто вытолкнуть его прямо в эхо, например: echo "module html here"; – Adam

0
currentpage->assign('basename',basename($_SERVER['SCRIPT_URI'])); 

тогда делать, если утверждения, основанные на содержании этой строки, однако ваша страница создана

+0

Я PHP noob. Это пошло прямо над моей головой :) Какой-нибудь шанс вы могли бы объяснить это немного больше? – StephenMeehan

+0

Чтобы вы получили строку для части URL-адреса, вы можете выполнить некоторые условные сравнения строк в этой строке, чтобы настроить блоки if-else. Я могу помочь вам, если вы скажете мне URL-адреса, или если вы запустите эту строку кода на каждой из 3-х страниц. – Stephan