2014-11-25 6 views
-1

Я строй сайта с PHP и используя включаем в сноску со следующей разметкой:PHP: Добавляя класс, включаемый для конкретных страниц

<footer id="main-footer> 
    <p>footer text</p> 
</footer> 

Есть несколько экземпляров по всей территории для который я хотел бы изменить нижний колонтитул - таким образом, который специфичен для данной страницы, - с добавлением дополнительного класса к элементу footer; например, добавление класса «bio» для изменения внешнего облика нижнего колонтитула на биостранице.

В идеале я хотел бы настроить PHP таким образом, чтобы класс добавлялся только при необходимости; таким образом, для большинства страниц всего сайта, для которых не требуется пользовательский нижний колонтитул, дополнительный класс не будет добавлен к элементу.

Как я могу достичь этого в PHP? Спасибо за любую обратную связь здесь.

+0

Как вы добавляете нижеследующий? – j0k

+0

Я включаю нижний колонтитул с помощью 'include' – nickpish

ответ

1

Это немного широк, потому что мы не знаем, как вы включаете это, но наиболее прямым способом в PHP является проверка существования переменной и включение класса на основе этого. Если переменная существует; включите его, иначе нет.

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

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

<footer <?php if(isset($expandedFooter)) { echo 'class="' . $expandedFooter . '"'; } ?> id="main-footer"> 

Тогда любая страница, которая включает в себя эту строку будет иметь дополнительный класс колонтитула:

$expandedFooter = "someClassName"; 

Любой класс, у которого его нет, не будет включать дополнительный нижний колонтитул, но он также не будет вызывать никаких предупреждений из-за отсутствующей переменной, потому что мы используем isset, а затем тестируем фактическое значение переменных. (Что создаст предупреждение, если переменная вообще не существует)

+0

Спасибо Эрик. Я просто использую' include' для добавления нижнего колонтитула. Можно ли использовать фактическую переменную для имени класса, заданной конкретной страницей, но не иметь добавленного класса вообще, если для переменной не указано имя класса? – nickpish

+0

Да. См. Мое редактирование. – Erik

+0

Отлично, спасибо большое! – nickpish

1

Я думаю, что вы найдете ответ на свой вопрос здесь: passing parameters to php include/require construct

Там нет никакого способа передать параметр через include или require, чтобы указать сноске, что вы на той или иной странице. Однако переменные в том же объеме будут доступны в сноске, так что вы могли бы объявить что-то вроде:

$custom_design = true; 
include('my_footer.php'); 

И использовать if($custom_design)... в футере.

Смежные вопросы