#php #html
Вопрос:
У меня есть страница на php home.php
<?php
ob_start();
include_once("app_header.php");
$disableCreate = 'true';
//below code to show the home page template
$htmlrenderObj = Htmlrender::getObj();
$template_path = $htmlrenderObj->app_home_template_path."app_home.html";
$template = $htmlrenderObj->return_file_content($template_path);
ob_end_flush();
include_once("app_footer.php");
?>
На этой странице php у меня есть переменная php $disableCreate
, и я использую предоперационный класс HTMLrender, чтобы предоставить общие методы для замены содержимого в html-шаблоны.
Теперь, основываясь на $disableCreate
переменной, мне нужно отключить гиперссылку «Создать».
<tr>
<td valign="top" colspan="2">
<div id="menuId">
<ul>
<li><a href="view.php" id="tab-visited"> <span>View</span></a></li>
<li><a href="create.php" <?php echo $disableCreate; ?>><span>Create</span></a></li>
<li><a href="search.php?default=1"> <span>Search</span></a></li>
<li><a href="update.php"><span>Update</span></a></li>
<li><a href="about.php"><span>About</span></a></li>
<li><a href="help.php"><span>Help</span></a></li>
</ul>
</div>
</td>
</tr>
Но я получаю ошибку во время компиляции.
Multiple annotations found at this line:
- Invalid character used in text string (<?php echo
$disableCreate; ?>>).
- Start tag (<a>) not closed.
Как я могу отключить тег привязки на основе переменной php.
Комментарии:
1. Из какого фреймворка был взят Htmlrender? Или это то, что вы сами создали?
Ответ №1:
Измените свой html следующим образом
<tr>
<td valign="top" colspan="2">
<div id="menuId">
<ul>
<li><a href="view.php" id="tab-visited"> <span>View</span></a></li>
<li><a <?php if(!$disableCreate) { echo "href='create.php'" }; ?> ><span>Create</span></a></li>
<li><a href="search.php?default=1"> <span>Search</span></a></li>
<li><a href="update.php"><span>Update</span></a></li>
<li><a href="about.php"><span>About</span></a></li>
<li><a href="help.php"><span>Help</span></a></li>
</ul>
</div>
</td>
</tr>
А потом измениться
$disableCreate = 'true';
Для
$disableCreate = true;
С помощью этой работы вы проверяете $disableCreate
значение с этим условием if(!$disableCreate)
и решаете, добавлять href
его или нет
Комментарии:
1. Привет, Азибом, спасибо за твой ответ. Я изменил свой код, как вы и предлагали. Все еще получаю то же исключение.
Ответ №2:
не могли бы вы попробовать использовать этот код: $GLOBALS[‘disableCreate’] = true;
а затем вместо переменной в представлении используйте $GLOBALS[‘disableCreate’]
Сработает ли это?
Комментарии:
1. Привет, Иван, все еще я получаю ту же ошибку, и в ней говорится, что в этой строке найдено несколько аннотаций: — Начальный тег (<a>) не закрыт. — Начальный тег (<a>) не закрыт.