Joomla включает в себя CSS, который делает отображение пустой страницы
Всякий раз, когда я пытаюсь загрузить страницу входа <domain>/index.php?option=com_users&view=login
Я вижу только белую страницу. Когда я смотрю на исходный код сайта, который поставляется, есть выражение CSS html { display:none }
в голове, которая заставляет целую страницу не отображаться:
<head>
<base href="<domain>/index.php" />
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<meta name="generator" content="Joomla! - Open Source Content Management" />
<title>xxxxxxxxx</title>
<style type="text/css">
html { display:none }
</style>
...
Все остальные страницы отображаются без проблем. Кроме того, это связано со специальным шаблоном: как только я активирую один из стандартных шаблонов, страница входа работает.
Я уже мог выследить его до jdoc:include type="head"
часть кода в ìndex.php
и я попытался выяснить, где соответствующие head.php
получает его от, но, поскольку у меня нет никакого опыта PHP, я застрял здесь.
Есть ли у кого-нибудь подсказки, куда идти дальше (или даже лучше), объяснение или исправление для этого?
Я использую Joomla 2.5, если это важно.
1 ответ
PHP разработчик здесь. Это может быть из-за некоторого кода в файле поведения.php из библиотеки \joomla\html\html.
Если ваша страница входа в систему находится внутри фрейма, кажется, что сначала она скрывается, а затем отображается с использованием JavaScript, когда браузер завершил загрузку страницы (и ее ресурсов), а также вырвала сайт из фрейма.
Вы случайно отключили JavaScript в своем браузере? Это может вызвать проблему.
/**
* Break us out of any containing iframes
*
* @param string $location Location to display in
*
* @return void
*
* @since 11.1
*/
public static function noframes($location = 'top.location.href')
{
// Only load once
if (isset(self::$loaded[__METHOD__]))
{
return;
}
// Include MooTools framework
self::framework();
$js = "window.addEvent('domready', function () {if (top == self) {document.documentElement.style.display = 'block'; }" .
" else {top.location = self.location; }});";
$document = JFactory::getDocument();
$document->addStyleDeclaration('html { display:none }');
$document->addScriptDeclaration($js);
JResponse::setHeader('X-Frames-Options', 'SAME-ORIGIN');
self::$loaded[__METHOD__] = true;
}