2012-03-19 3 views
1

У меня есть пользовательская CMS, называемая phpVMS, и я хочу исключить фрагмент кода, баннер для одной страницы. phpVMS управляется с использованием шаблонов, например, основной шаблон, который кодирует общий макет для всех страниц, называется layout.tpl. Итак, как я уже сказал, это отображает все, что находится в шаблоне, на всех страницах. Однако я создал специальную панель управления и, следовательно, должен исключить баннер, потому что он немного разрушает его тему. Есть ли какой-либо PHP-код, который исключает часть кода на одном сайте? Мне нужно удалить один div ...php исключая часть кода html?

<div id="slideshow"></div> 

... на одной странице.

В принципе, я мог бы создать новый шаблон, но это очень длинный и неэффективный способ внутри этой CMS, и конечный результат не так уж и велик - потому что я не могу повторно включить div основного окна, который является полем, определяющим содержимое в центре белого бита темы - это уже в layout.tpl.

Надеюсь, вы можете как-то помочь мне, надеюсь, что я включил здесь достаточно информации.

Спасибо.

+0

не ответ сам по себе, но добавление JS (если вы используете JQuery) $ («# слайд-шоу») скрыть();. исправить проблему, пока вы ищете перм. решение? – picus

ответ

1

Я не думаю, что вы можете делать то, что вы спрашиваете на PHP, но вы можете сделать это на стороне клиента, либо скрыв div (CSS display:none), либо удалив его с помощью JavaScript. Вы могли бы быть в состоянии сделать что-то вроде:

<?php 
    include("layout.tpi"); 

    if (condition) 
    { 
     // Javascript: 
     echo "<script>document.getElementById('slideshow').style.display = 'none';</script>"; 

     // OR jQuery: 
     echo "<script>$('#slideshow').hide();</script>"; 
    } 
?> 
+0

Спасибо, что работал без включения, поскольку шаблон уже включен :) – HighFlyerPL185

0

Я не уверен, если это то, что вы ищете, но, кажется, просто

<? 
$template = true; 
if($template) { 
?> 
<div id="slideshow"></div> 
<? 
} 
?> 
0

На шаблоне, вы могли бы иметь некоторый код, который гласит:

if($_SERVER['PHP_SELF'] == /*control panel file*/) { 
    //exclude 
}else{ 
    //include 
} 
1

Если вы используете переменная для определения вы не хотите включать в DIV, вы можете сделать это:

<?php if ($include) { ?> 
    <div id="slideshow"></div> 
<?php } ?> 

ИЛИ

<?php 
    if (!$include) 
     echo "<!--"; 
?> 
<div id="slideshow"></div> 
<?php 
    if (!$include) 
     echo "-->"; 
?> 

EDIT: Очевидно, что нет никаких оснований использовать второй метод. Второй метод будет только комментировать HTML, поэтому он все равно будет отображаться в источнике.

+0

Шаблон layout.tpl определяет все содержимое страниц, где сейчас находится слайд-шоу. Я добавил вышеприведенный код в profile_main.tpl вверху, и он не работает. Думаю, вы упомянули переменную, как бы я ее создал? Извините, все еще изучая PHP ... – HighFlyerPL185

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