Новости Joomla

Метод registerListeners() в CMSPlugin в плагинах планируется удалить в Joomla 7.0

Метод registerListeners() в CMSPlugin в плагинах  планируется удалить в Joomla 7.0

👩‍💻 Метод registerListeners() в CMSPlugin в плагинах планируется удалить в Joomla 7.0.Этот метод регистрирует устаревшие слушатели событий в диспетчере, имитируя работу плагинов Joomla! 3.x и ниже для Joomla 4+. По умолчанию этот метод ищет все общедоступные методы, название которых начинается с on. Он регистрирует лямбда-функции (замыкания), которые пытаются преобразовать аргументы отправленного события в аргументы вызова метода и вызвать ваш метод on<Что-то>. Результат передаётся обратно событию в его аргумент result.Теперь этот слой совместимости с устаревшей Joomla 3 помечен к удалению в Joomla 7.0, которая должна выйти осенью 2027 года. Это означает, что те уникальные расширения от Joomla 2.5 / Joomla 3, которые ещё работали на Joomla 4-6 скорее всего окончательно перестанут работать на Joomla 7. Предполагается, что активные разработчики планомерно и постепенно избавляются от технического долга и обновляют свои расширения. @joomlafeed#joomla #разработка #php

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

OEvg85

  • Новичок
  • 4
  • 0 / 0
Доброго времени суток, уважаемые форумчане  ;D.
Пытаюсь создать полноценный AJAX-шаблон для Joomla 2.5. Суть моей задумки, заключается в динамической подгрузке контента (компонента).  К тому же уже удалось реализовать подгрузку последней новости в специально отведенный под это дело блок. Все бы ничего: контент грузится динамически, поиск работает, авторизация тоже работает, но остается один досадный момент.  Редакторы моего сайта пристрастились редактировать материалы не заходя в админку. То бишь авторизовался через форму логина на сайте и тут же материалы редактирует. А после "перевода" на AJAX редактирование корректно не осуществляется. То бишь нажимаем на кнопку редактировать, правим текст, нажимаем кнопку сохранить или отменить, ничего не происходит.

Привожу код своего шаблона (естесно, то что к делу не относится тут приводить не буду):
Код: html4strict
<?php defined( '_JEXEC' ) or die( 'Restricted access' );?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
xml:lang="<?php echo $this->language; ?>" lang="<?php echo $this->language; ?>" >
<head>
<jdoc:include type="head" />
<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<script type="text/javascript" src="<?php echo $this->baseurl; ?>/templates/<?php echo $this->template; ?>/history-api/history.js"></script>

<script type="text/javascript">
function ajaxLoad(myHref){
var tmplAppend = '?tmpl=ajax';
if (myHref.indexOf('?') + 1){
tmplAppend = '&tmpl=ajax';
};

$.ajax({
url: myHref+tmplAppend,
cache: false,
dataType: 'html',
success: function(data) {
$('#content').html(data);
document.title = $('#ajaxtitle').text();
}
});
};

$(document).ready(function(){

$(window).on('popstate', function(e) {
var returnLocation = history.location || document.location;
ajaxLoad(returnLocation.href);
});

$.ajax({
url: 'http://art-nt.comuv.com/index.php/home?tmpl=ajax',
cache: false,
dataType: 'html',
success: function(data) {
$('#news').html($(data).find('.leading-0'));
$('#news p').removeAttr('style');
$('#news a.highslide').remove();
setGeometry();
}
});

$(document).ajaxComplete(function(){
$('a').not(function(index){
                                        if(!!$(this).attr('class')){
return $(this);
}else if($(this).attr('href') == '#'){
return $(this);
}else{
return false;
};
          }).addClass('ajax');

         $('a').filter(function(){
        if ($(this).hasClass('pagenav')){
        return $(this);
          };
          }).addClass('ajax');
          });

$(document).on('click', 'a.ajax', function(e){
e.preventDefault();
history.pushState(null, null, this.href);
ajaxLoad(this.href);
return false;
});
});
</script>
</head>
<body>
<div id="news_wrapper">
<div id="news"></div>
</div>

<div id="content_wrapper">
<div id="content">
<jdoc:include type="message" />
<jdoc:include type="component" />
</div>
</div>
</body>
</html>


Кроме того есть файл "ajax.php" вот такого содержания:
Код: php
<?php
defined('_JEXEC') or die; ?>
<div id="ajaxtitle"><?php echo $this->title; ?></div>
<jdoc:include type="component" />

Вроде все правильно, почему не работают кнопки "сохранить" и "отмена" не могу понять

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

Суффикс класса модуля

Автор dima_

Ответов: 5
Просмотров: 3179
Последний ответ 27.11.2012, 20:53:36
от dima_