RSS
Статті
Налаштування сайту
Безпека сайту
Хостинг для Joomla
Модифікації та хаки
Шаблони та дизайн
CSS
Ajax
SEO
Переклад

Завантажити Joomla

Хостинг для Joomla
Дискламація

Joomla!TM є торговою маркою компанії Open Source Matters inc. в США та інших країнах. Назва Joomla! і його варіації, такі як J, Joom тощо, використовуються в рамках обмеженою ліцензії, певною компанією Open Source Matters. Спільнота Joomla! Україна не відноситься до компанії Open Source Matters або проекту Joomla! Точки зору представлені на даному сайті не є офіційними точками зору Joomla Project або Open Source Matters.

Торгова марка Joomla® і логотип використовуються в рамках обмеженою ліцензії, наданої Open Source Matters.

Sape
Дневник о моём городе, его бассейнах. бассейнах. Впечатления, эмоции, обстановка.
Где купить htc tattoo в Москве

Головна arrow Ajax arrow Вставка іншої сторінки за допомогою prototype

Вставка іншої сторінки за допомогою prototype

05.08.2007 | Dutch | Друк | E-mail

Якщо необхідно на сторінці розмістити деяку інформацію, яка знаходить у іншому файлі, можна використати фрейми, вставку через PHP та інше. Але іноді такі варіанти не підходять з тих чи інших міркувань, як приклад, для фрейму потрібно створювати оформлення на CSS, щоб інформація була частиною дизайну сайту. Для такого випадку можна використати PHP, але іноді несумісність кодування сайту та сторінки, яку необхідно вставити, приводять до нечитабельності усієї сторінки.
У цій статті ми розглянемо просте вирішення проблеми завдяки ajax-бібліотеки prototype.

Не будемо вдаватися у подробиці написання коду, а відразу приступимо до основної частини, а саме до практики.

Для того, щоб вставити в тіло сторінки файл нам потрібно або в самому шаблоні, або у новому модулі Користувача вписати наступний код:

<div id="load" class="firstClass secondClass ajaxLoad: /myFile.php"></div>

Ми маємо firstClass, secondClass та myFile.php, де firstClass і secondClass - назви класів для оформлення блоку із змістом файлу myFile.php.

Далі нам необхідно відобразити індикатор завантаження файлу myFile.php. Для цього у файлі шаблону CSS потрібно вписати наступний код:

.loader { 
  background: url('../images/ajax-loader.gif') no-repeat; 
  background-position: center center; 
  width: 100%; 
  height: 40px; 
}

А в шаблоні прописати шлях до файлів бібліотеки:

<script type="text/javascript" src="<?php echo $mosConfig_live_site;?>/templates/<?php echo $mainframe->getTemplate(); ?>/js/prototype.js"></script>
<script type="text/javascript" src="<?php echo $mosConfig_live_site;?>/templates/<?php echo $mainframe->getTemplate(); ?>/js/ajaxIncl.js"></script>

На цьому наші приготування закінченні і в результаті ми отримаємо вставлений в тіло сторінки файл:

Демо версія

Тепер розглянемо приклад несумісності кодування сайту (windows-1251) та вивід останніх повідомлень з форуму SMF, який працює на utf-8.
Майже у всіх форумів є можливість підключення останніх повідомлень через PHP та SSI.

Тому ми створимо файл forum.php і розмістимо його у корені сайту.

У цьому файлі пропишемо наступний код:

<?php
    header('Content-Type: text/html; charset=utf-8');
    require('forum/SSI.php');
    ssi_recentPosts();
?>

Тепер необхідно його тільки підключити до нашого коду:

<div id="load" class="ajaxLoad: /forum.php"></div>

Оскільки оформлювати блок із змістом файлу ми не будемо (використовуємо стандартні класи Joomla!), то немає необхідності зазначати які-небудь класи у коді.

Завантажити:

Prototype: prototype.conio.net
Бібліотека вставки файлу від fastfwd: www.fastfwd.be



Pleasures Moon Lily
 

Додати коментар


Захисний код
Оновити

Додати на БобрдобрДодати на MemoriДодати на news2.ruДодати на Моё МестоДодати на Моё МестоДодати на NewslandДодати на СМИ2Додати на Ваау!Додати на Mr. WongДодати на GoogleДодати на YahooДодати на DiggДодати на Del.icoi.usДодати на SlashdotДодати на BlogmarksДодати на TechnoratiДодати на NewsvineДодати на BlinkbitsДодати на Folkd

1