Nikela |
Отправлено: 4 февраля 2011 — 03:32
|
Advanced Member
Покинул форум
Сообщений всего: 254
Дата рег-ции: Нояб. 2010
Откуда: Минск
Репутация: 10
|
Дано:
- cms-Joomla
- на всем сайте слева расположены модули www.shopzona.info, подключаемые из админки. Есть возможность сделать собственный html-модуль, пыталась в него вставить CODE:<?=$exbb_last_topics->last?> но ничего не получилось.
Хотелось бы:
- сделать вывод последних тем форума слева модулем.
Может кто уже реализовал это на джумле, буду благодарна советам.
Из первого сообщения мод скачала, в папку с форумом закинула, в нем правильный путь прописала. Далее в index.php вставила:
CODE:<div class="art-layout-cell art-sidebar1"><?php echo artxModules($document, 'left', 'art-block'); ?>
<?php require_once('/home/shopzona/www/shopzona.by/forum/exbb_last_topics.php'); ?>
</div>
Но чувствую это все неправильно. (Отредактировано автором: 4 февраля 2011 — 03:36) |
|
|
Nikela |
Отправлено: 4 февраля 2011 — 17:36
|
Advanced Member
Покинул форум
Сообщений всего: 254
Дата рег-ции: Нояб. 2010
Откуда: Минск
Репутация: 10
|
electron пишет:этот код надо вставить в самый верх той страницы, на которой вы планируете сделать вывод последних сообщений форума
Так в моем куске с прошлом посте я добавила эту строку, только в див вставила.
Сейчас перенесла в самый верх, все равно ничего не произошло. (сорри, я просто как слепой котенок в этих php).
Вот весь мой код index.php
Спойлер (Отобразить)CODE:<?php require_once('/home/shopzona/www/shopzona.by/forum/exbb_last_topics.php'); ?>
<?php
defined('_JEXEC') or die('Restricted access'); // no direct access
require_once dirname(__FILE__) . DIRECTORY_SEPARATOR . 'functions.php';
$document = null;
if (isset($this))
$document = & $this;
$baseUrl = $this->baseurl;
$templateUrl = $this->baseurl . '/templates/' . $this->template;
artxComponentWrapper($document);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->language; ?>" lang="<?php echo $this->language; ?>" >
<head>
<jdoc:include type="head" />
<link rel="stylesheet" href="<?php echo $this->baseurl; ?>/templates/system/css/system.css" type="text/css" />
<link rel="stylesheet" href="<?php echo $this->baseurl; ?>/templates/system/css/general.css" type="text/css" />
<link rel="stylesheet" type="text/css" href="<?php echo $templateUrl; ?>/css/template.css" media="screen" />
<!--[if IE 6]><link rel="stylesheet" href="<?php echo $templateUrl; ?>/css/template.ie6.css" type="text/css" media="screen" /><![endif]-->
<!--[if IE 7]><link rel="stylesheet" href="<?php echo $templateUrl; ?>/css/template.ie7.css" type="text/css" media="screen" /><![endif]-->
<script type="text/javascript" src="<?php echo $templateUrl; ?>/script.js"></script>
</head>
<body>
<div id="art-main">
<div class="art-sheet">
<div class="art-sheet-body">
<div class="art-header">
<?php if ($this->countModules('top_menu')) : ?>
<div class="top_menu"><jdoc:include type="modules" name="top_menu" style="none" /></div>
<?php endif; ?>
<div class="art-header-jpeg">
<?php if ($this->countModules('search')) : ?>
<div class="mymodule"><jdoc:include type="modules" name="search" style="none" /></div>
<?php endif; ?>
</div>
</div>
<jdoc:include type="modules" name="user3" />
<jdoc:include type="modules" name="banner1" style="artstyle" artstyle="art-nostyle" />
<?php echo artxPositions($document, array('top1', 'top2', 'top3'), 'art-block'); ?>
<div class="art-content-layout">
<div class="art-content-layout-row">
<?php if (artxCountModules($document, 'left')) : ?>
<div class="art-layout-cell art-sidebar1"><?php echo artxModules($document, 'left', 'art-block'); ?>
</div>
<?php endif; ?>
<div class="art-layout-cell art-<?php echo artxCountModules($document, 'left') ? 'content' : 'content-wide'; ?>">
<?php
echo artxModules($document, 'banner2', 'art-nostyle');
if (artxCountModules($document, 'breadcrumb'))
echo artxPost(null, artxModules($document, 'breadcrumb'));
echo artxPositions($document, array('user1', 'user2'), 'art-article');
echo artxModules($document, 'banner3', 'art-nostyle');
?>
<?php if (artxHasMessages()) : ?><div class="art-post">
<div class="art-post-tl"></div>
<div class="art-post-tr"></div>
<div class="art-post-bl"></div>
<div class="art-post-br"></div>
<div class="art-post-tc"></div>
<div class="art-post-bc"></div>
<div class="art-post-cl"></div>
<div class="art-post-cr"></div>
<div class="art-post-cc"></div>
<div class="art-post-body">
<div class="art-post-inner">
<div class="art-postcontent">
<!-- article-content -->
<jdoc:include type="message" />
<!-- /article-content -->
</div>
<div class="cleared"></div>
</div>
<div class="cleared"></div>
</div>
</div>
<?php endif; ?>
<jdoc:include type="component" />
<?php echo artxModules($document, 'banner4', 'art-nostyle'); ?>
<?php echo artxPositions($document, array('user4', 'user5'), 'art-article'); ?>
<?php echo artxModules($document, 'banner5', 'art-nostyle'); ?>
</div>
</div>
</div>
<div class="cleared"></div>
<?php echo artxPositions($document, array('bottom1', 'bottom2', 'bottom3'), 'art-block'); ?>
<jdoc:include type="modules" name="banner6" style="artstyle" artstyle="art-nostyle" />
<div class="art-footer">
<div class="art-footer-body">
<?php echo artxModules($document, 'syndicate'); ?>
<div class="cleared"></div>
</div>
</div>
<div class="cleared"></div>
</div>
</div>
<div class="cleared"></div>
<p class="art-page-footer"></p>
</div>
</body>
</html>
А затем просто в админке создаю модуль "собственный html" и в него вставляю
CODE:<?=$exbb_last_topics->last?> - и задаю расположение left. Возможно проблема тут, может создается где-то файлик на хостинге html, который надо переименовать в php.(Отредактировано автором: 4 февраля 2011 — 17:36) |
|
|
Nikela |
Отправлено: 5 февраля 2011 — 02:16
|
Advanced Member
Покинул форум
Сообщений всего: 254
Дата рег-ции: Нояб. 2010
Откуда: Минск
Репутация: 10
|
yura3d пишет:Да, кстати, вариант с RSS - наилучшее решение. Главное только, чтобы этот модуль поддерживал кеширование (5 - 10 минут вполне достаточно), иначе возможно создание дополнительной нагрузке на сервер при каждом открытии любой страницы сайта с этим модулем
Честно сказать, я вообще отключила кеш (у меня повылазили проблемы с опросом и меню) и только недавно я узнала, что для каждого модуля можно задать свои настройки кеширования, поэтому сейчас включу и опробую.
Блин, рано радовалась при появлении нового сообщения в теме на форуме, в модуле ввыводится только эта новая тема, а не 5шт, установленных по умолчанию, как бы не пришлось опять насиловать ваш мод
BON пишет:Я хоть и нуб в пхп, но вроде так делать нельзя. Надо было просто строчку без этого «<?» тег всавить и всё заработало бы. Поидее так
Мне этот синтаксис вообще мало о чем говорит, я могу править php файлы исключительно по чей-нибудь инструкции. |
|
|
Nikela |
Отправлено: 6 февраля 2011 — 05:20
|
Advanced Member
Покинул форум
Сообщений всего: 254
Дата рег-ции: Нояб. 2010
Откуда: Минск
Репутация: 10
|
yura3d пишет:Да, кстати, вариант с RSS - наилучшее решение. Главное только, чтобы этот модуль поддерживал кеширование (5 - 10 минут вполне достаточно), иначе возможно создание дополнительной нагрузке на сервер при каждом открытии любой страницы сайта с этим модулем
Юр, прошу вашей помощи, не получается у меня настроить работу этого rss-канала.
Дело в следующем: как только я создала модуль и установила параметр отображения 5 последних тем - он выводится и отображает все корректно. Стоит только создать новую тему на форуме, все темы пропадают и остается только одна эта новая. Но и это еще не все, я удаляю тему (кеш выкл), а она не пропадает.
Привожу скрины, лента rss просто в браузере отображается корректно http://www.shopzona.info/forum/t...s.php?action=rss и можно видеть что темы Тест в ней нет, а в моем модуле болтается единственная эта тема
Я думала проблема в модуле, скачала и установила другую версию - не помогло, тогда я провела эксперимент и закинула туда rss ленту джумла-форума, и багов никаких не выявлено. Из чего я делаю вывод, что проблема в моем форуме
1.
2. Обновленная лента (Отредактировано автором: 6 февраля 2011 — 05:24) |
|
|
|