Асинхронные методы не предлагает технология AJAX поможет нам решить эту проблему.
Любой крутой AJAX-эффект начинается с крутого рисунка который показывает что на фоне продолжается работа - "Загрузчик AJAX". Сгенерировать красивый анимационный рисунок можно, например, на этом сайте.
Это может быть, например, что-то такое:.
Сохраните его как / images / ajax-loader.gif в каталоге шаблона.
Подготовим место для нашего модуля, который будет подгружаться.
В каталоге templates / YOURTEMPLATE / mymodule.php создайте файл с таким наполнением:
php
// no direct access
defined( '_JEXEC' ) or die( 'Restricted access' );
$moduleposition = JRequest::getVar('moduleposition','user1');
$modulestyle = JRequest::getVar('modulestyle','xhtml');
?>
jdoc:include type="modules" name="" style=""/>
Здесь задаются параметры moduleposition (позиция модуля - user1) и modulestyle (стиль модуля, или в терминологии Joomla 1.5 - "module chrome").
А в файле шаблона, в месте где должен появляться модуль, вставьте следующий код:
<div rel="user2" alt="xhtml" class="delayedmodule">
Атрибут rel задает название позиции для модулей, а alt указывает его стиль
Атрибут rel задает название позиции для модулей, а alt указывает на его стиль (подробнее о стилях в Joomla, англ.).
Теперь, в файл шаблона index.php сразу после
defined( '_JEXEC' ) or die( 'Restricted access' );
нужно дописать
<div
class="moduletable">
<h3>
Останні
новини
h3>
<ul
class="latestnews">
<li
class="latestnews">
<a
href="/uk/about-joomla/25-faq/49-problemy-z-copyright-i-qpidvalomq-u-bezkoshtovnomu-shabloni-dlja-joomla-16-as-template-002024-.html"
class="latestnews">
Проблеми
з
copyright
і
"
підвалом
"
у
безкоштовному
шаблоні
для
Joomla! 1.6 —
AS Template 002024 a>
li>
<li
class="latestnews">
<a
href="/uk/about-joomla/29-joomla-extensions/22-notifyarticlesubmit-get-email-notification-when-an-article-is-added-or-changed.html"
class="latestnews">
NotifyArticleSubmit
-
отримуйте
сповіщення
на
e-mail
коли
хтось
додає
чи
редагує
статтю
на
сайті
a>
li>
<li
class="latestnews">
<a
href="/uk/about-joomla/29-joomla-extensions/9-joomla-install-many-extensions-as-one-package.html"
class="latestnews">
Install a bunch - встановлюємо купу
розширень одним пакетомa>
li>
<li
class="latestnews">
<a
href="/uk/about-joomla/34-virtuemart/6-virtuemart-ask-seller-captcha.html"
class="latestnews">
Додаємо
CAPTCHA
на
сторінку
"
Запитати
в
продавця
"
(ask seller) virtuemarta>
li>
<li
class="latestnews">
<a
href="/uk/about-joomla/34-virtuemart/47-jak-vymknuty-mootools-u-virtuemart.html"
class="latestnews">
Як
вимкнути
mootools
у
virtuemart?a>
<li>
<ul> div>
Как видите полученная информация не содержит "лишнего" кода, а изображает лишь нужный модуль.
А благодаря AJAX он подгружается только после того как загрузится вся страница.
Посетители и поисковые системы будут Вам благодарны.
Еще раз, коротко, как мы этого достигли:
Создали файл mymodule.php который создает на странице нужную позицию ("название позиции") для модулей.
В нужном месте страницы выводим модуль ("закрепляем" позицию в шаблоне)
Вносим изменения в код страницы для автоматического подгрузки нашей позиции с использованием AJAX
Источник:http://jmworld.ru/ssttss/2012-08-02-13-25-5/1324--ajax.html