Новости Joomla

Вышли релизы безопасности Joomla 6.1.1 и Joomla 5.4.6

Релиз безопасности Joomla 6.1.1 и Joomla 5.4.6

Проект Joomla! рад сообщить о выходе Joomla 6.1.1 и Joomla 5.4.6. Это релизы безопасности и исправления ошибок для серий 5.x и 6.x.

0 Пользователей и 1 Гость просматривают эту тему.
  • 2 Ответов
  • 2083 Просмотров
*

akhalex38

  • Захожу иногда
  • 171
  • 1 / 0
Всем привет:)

В общем, друзья, проблема такая:

Установил на денвер Joomla 1.7 и решил установить шаблон для начала (мне его потом редактировать надо). Все бы хорошо, только вот под шаблоном (точнее под шапкой) надпись

Код
Fatal error: Call to a member function getMessageQueue() on a non-object in Z:\home\test1.ru\www\templates\ol_grosse\functions.php on line 11

Естественно лезу в файл, вот что там есть
Код
<?php
defined('_JEXEC') or die('Restricted access'); // no direct access

if (!defined('_ARTX_FUNCTIONS')) {

define('_ARTX_FUNCTIONS', 1);

function artxHasMessages()
{
global $mainframe;
$messages = $mainframe->getMessageQueue();
if (is_array($messages) && count($messages))
foreach ($messages as $msg)
if (isset($msg['type']) && isset($msg['message']))
return true;
return false;
}

function artxUrlToHref($url)
{
$result = '';
$p = parse_url($url);
if (isset($p['scheme']) && isset($p['host'])) {
$result = $p['scheme'] . '://';
if (isset($p['user'])) {
$result .= $p['user'];
if (isset($p['pass']))
$result .= ':' . $p['pass'];
$result .= '@';
}
$result .= $p['host'];
if (isset($p['port']))
$result .= ':' . $p['port'];
if (!isset($p['path']))
$result .= '/';
}
if (isset($p['path']))
$result .= $p['path'];
if (isset($p['query'])) {
$result .= '?' . str_replace('&', '&amp;', $p['query']);
}
if (isset($p['fragment']))
$result .= '#' . $p['fragment'];
return $result;
}

function artxReplaceButtonsRegex() {
return '' .
'~<input\b[^>]*'
. '(?:'
. '[^>]*\bclass=(?:"(?:[^"]*\s)?button(?:\s[^"]*)?"|\'(?:[^\']*\s)?button(?:\s[^\']*)?\'|button\b)[^>]*'
. '(?:\bvalue=(?:"[^"]*"|\'[^\']*\'|[^>\s]*))'
. '|'
. '(?:\bvalue=(?:"[^"]*"|\'[^\']*\'|[^>\s]*))'
. '[^>]*\bclass=(?:"(?:[^"]*\s)?button(?:\s[^"]*)?"|\'(?:[^\']*\s)?button(?:\s[^\']*)?\'|button\b)[^>]*'
. '|'
. '[^>]*\bclass=(?:"(?:[^"]*\s)?button(?:\s[^"]*)?"|\'(?:[^\']*\s)?button(?:\s[^\']*)?\'|button\b)[^>]*'
. ')'
. '[^>]*/?\s*>~i';
}

function artxReplaceButtons($content)
{
$re = artxReplaceButtonsRegex();
if (!preg_match_all($re, $content, $matches, PREG_OFFSET_CAPTURE))
return $content;

$result = '';
$position = 0;
foreach ($matches[0] as $match) {
$result .= substr($content, $position, $match[1] - $position);
$position = $match[1] + strlen($match[0]);
$result .= '<span class="ju-button-wrapper"><span class="l"> </span><span class="r"> </span>'
. preg_replace('~\bclass=(?:"([^"]*\s)?button(\s[^"]*)?"|\'([^\']*\s)?button(\s[^\']*)?\'|button\b)~i',
'class="\1\3button ju-button\2\4"', $match[0]). '</span>';
}
$result .= substr($content, $position);
return $result;
}

function artxPost($caption, $content)
{
$hasCaption = (null !== $caption && strlen(trim($caption)) > 0);
$hasContent = (null !== $content && strlen(trim($content)) > 0);

if (!$hasCaption && !$hasContent)
return '';

ob_start();
?>
<div class="ju-Post">
<div class="ju-Post-tl"></div><div class="ju-Post-tr"></div><div class="ju-Post-bl"></div>
<div class="ju-Post-br"></div><div class="ju-Post-tc"></div><div class="ju-Post-bc"></div>
<div class="ju-Post-cl"></div><div class="ju-Post-cr"></div><div class="ju-Post-cc"></div>
<div class="ju-Post-body">
<div class="ju-Post-inner">

<?php if ($hasCaption): ?>
<div class="ju-PostMetadataHeader">
<h2 class="ju-PostHeader">
<?php echo $caption; ?>

</h2>

</div>

<?php endif; ?>
<?php if ($hasContent): ?>
<div class="ju-PostContent">

<?php echo artxReplaceButtons($content); ?>

</div>
Дальше я думаю уже не нужно.

Так, Google в помощь: нашел на этом форуме что-то похожее с 1.6, указанные действия не привелик  желаемому, цитирую что предлагают здесь http://joomlaforum.ru/index.php/topic,160787.0.html
Цитировать
Проблема решена
Ищем в файле function.php текст  global $mainframe; $messages = $mainframe->getMessageQueue();

и меняем на $messages = JFactory::getApplication()->getMessageQueue();
Миграция шаблонов siteground 1.5 на 1.6

1.Нужно найти в файлах templates.php и index.php
 текст
 echo $mainframe->getCfg(‘sitename’) ;

зменить на
 $app = &JFactory::getApplication();
 echo $app->getCfg(‘sitename’);

Спасибо, надеюсь на помощь
*

SK

  • Живу я здесь
  • 2155
  • 164 / 0
Re: Проблема с установкой шаблона
« Ответ #1 : 18.05.2012, 13:21:58 »
А почему ставите версию 1.7?
Эта промежуточная версия движка.
Ставьте актуальную на сегодня версию 2.5.4 и на ней тренируйтесь!
*

akhalex38

  • Захожу иногда
  • 171
  • 1 / 0
Re: Проблема с установкой шаблона
« Ответ #2 : 18.05.2012, 13:28:28 »
Решил

Цитировать
Замени указанную строку;
$mainframe->getMessageQueue();

на
JFactory::getApplication()->getMessageQueue();

Источник http://www.utgarda.ru/index.php?option=com_kunena&func=view&catid=10&id=100&Itemid=62

Всем спасибо!

Ок, буду переходить)
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

На локал сервере страницы сайта без шаблона, CSS и картинок

Автор Fati

Ответов: 0
Просмотров: 3274
Последний ответ 15.06.2025, 11:57:45
от Fati
Изменение шаблона Joomla! 2.5.24

Автор SecondPC

Ответов: 0
Просмотров: 6825
Последний ответ 26.03.2021, 18:09:33
от SecondPC
Руководство - создание шаблона для Joomla 2.5

Автор dynamit

Ответов: 6
Просмотров: 34230
Последний ответ 02.02.2020, 22:28:15
от AlinaBut
Проблема с доступом к шаблону сайта

Автор thas

Ответов: 4
Просмотров: 6029
Последний ответ 08.11.2019, 19:55:23
от stendapuss
Ошибка при установке шаблона - Fatal error: Call to a member function setDebug() on a non-object in

Автор Mirotvoretz

Ответов: 33
Просмотров: 72529
Последний ответ 11.11.2018, 13:22:26
от vik38