-
Migrace z Joomla 1.5, 2.5 a 3.x do nové Joomla 6
Bong ·
- X Online Joomla bar xunil ·
-
Phoca Cart - pluginy dopravy
H13 ·
-
Nový joomlaportal.cz
Linelabcz ·
-
Amanus - nová šablona Astroid frameworku podporující Phoca Cart
H13 ·
- X Claude Code a VS Code - kompromitace xunil ·
-
Phoca Download - verze 6.1.6 vydána
H13 ·
-
Phoca Cart - Booking
H13 ·
modul posledni prispevky z fora
- Tydou
- Autor
- OFFLINE
- Uživatel
-
Méně
Více
- Příspěvky: 17
06. říj 2015 22:04 #123808
od Tydou
modul posledni prispevky z fora od Tydou
Ahoj, mozna se snazim o neco co uz predemnou nekdo napsal, prolezl jsem forum, ale nic co by se mi hodilo jsem nenasel, jediny co se tak nejak resilo je JFusion, ale ja nepotrebuju propojovat ucty forum/web, pripadne pokud umi zobrazit jen prispevky tak se rad priucim jak na to. Po prechodu na Joomlu z klasicky psanych stranek se snazim rozbehnout okno s poslednimi prispevky z phpbb fora, ktery bezi v jedny db jako joomla. Snazil jsem se pouzit to co uz predemnou napsal predchozi spravce ale moc to nefunguje, prechodem na novejsi php uz to hazelo chyby ale slo to a pak jsem to vypnul uplne.
Vytvoril jsem si svuj modul do kteryho bych to chtel zakomponovat, nainstaloval ho ale pravdepodobne se bude jste muset upravit xml soubor a u zbytku souboru jen sladit funkce
mod_forum.xml
helper.php
default.php
mod_forum.php
Díky za jakoukoliv radu a pomoc
Vytvoril jsem si svuj modul do kteryho bych to chtel zakomponovat, nainstaloval ho ale pravdepodobne se bude jste muset upravit xml soubor a u zbytku souboru jen sladit funkce
mod_forum.xml
Code:
<?xml version="1.0" encoding="utf-8"?>
<extension type="module" version="3.1.0" client="site" method="upgrade">
<name>Forum</name>
<author>Tydou</author>
<version>1.0.0</version>
<description>Forum news topic</description>
<files>
<filename>mod_forum.xml</filename>
<filename module="mod_forum">mod_forum.php</filename>
<filename>index.html</filename>
<filename>helper.php</filename>
<filename>tmpl/default.php</filename>
<filename>tmpl/index.html</filename>
</files>
<config>
</config>
</extension>
helper.php
Code:
<?php
class ModForumHelper
{
function TADY NEVIM CO() {
return;
}
function getlastmessages($numofmessages = 8) {
// How Many Topics you want to display?
$topicnumber = $numofmessages;
// Change this to your phpBB path
$urlPath = "forum";
// Database Configuration (Where your phpBB config.php file is located)
include $urlPath.'/config.php';
$link = mysql_connect($dbhost, $dbuser, $dbpasswd) or die("Could not connect");
mysql_select_db($dbname) or die("Could not select database");
// Get 5 Latest Posts.
$qry = mysql_query("SELECT * FROM `phpbb_posts` ORDER BY `post_id` DESC LIMIT 8");
while($row=mysql_fetch_array($qry)) {
// Get Author Name.
$author1 = mysql_query("SELECT * FROM `phpbb_users` WHERE `user_id` = '".$row['poster_id']."'");
$author2 = mysql_fetch_array($author1);
$author = $author2['username'];
// Get the Topic Name.
$topic1 = mysql_query("SELECT * FROM `phpbb_topics` WHERE `topic_id` = '".$row['topic_id']."'");
$topic2 = mysql_fetch_array($topic1);
$topic = $topic2['topic_title'];
printf("<a href=\"".$urlPath."/viewforum.php?f=%s\" target=\"_BLANK\">%s</a> <b>></b> <a href=\"".$urlPath."/viewtopic.php?f=%s&t=%s&p=%s#%s\" target=\"_BLANK\">%s</a> <b>by</b> <a href=\"".$urlPath."/profile.php?mode=viewprofile&u=%s\" TARGET=\"_blank\">%s</a><br />", $row['forum_id'], $forum, $row['forum_id'], $row['topic_id'], $row['post_id'], $row['post_id'], $topic, $row['poster_id'], $author);
}
}
}
default.php
Code:
<?php
defined('_JEXEC') or die; ?>
<?
$forum = new foruminfo();
$forum->getlastmessages(8);
?>
mod_forum.php
Code:
<?php
defined('_JEXEC') or die;
// Include the syndicate functions only once
require_once __FILE__ . '/helper.php';
$forum = new foruminfo();
$forum->getlastmessages(8);
?>
Díky za jakoukoliv radu a pomoc
- Ernst
- OFFLINE
- Joomla Expert
-
Méně
Více
- Příspěvky: 2380
06. říj 2015 22:36 - 06. říj 2015 22:39 #123809
od Ernst
Odpověď od Ernst v tématu modul posledni prispevky z fora
Pardon, já odpovídal na nejnovější články, nevšiml jsem si, že se jedná o fórum
- Cony
-
- Pryč
- Moderátor
-
Méně
Více
- Příspěvky: 5174
06. říj 2015 22:57 #123812
od Cony
Odpověď od Cony v tématu modul posledni prispevky z fora
1/ nepoužívejte zkrácené <? ale plné <?php, ušetříte si do budoucna problémy.
2/ TADY NEVIM CO - tak pak nic
3/ ve funkci je připojení k databázi. To je zbytečné, již k databázi připojen jste, stačí použít funkce Joomly (JDatabase)
4/ nepotřebujete new foruminfo - máte ModForumHelper, tedy
a v default.php už jen cyklus
5/ Pokud nechcete být fajnšmekr a přidávat modulu parametry, v XML nic moc měnit nemusíte (spíš nic než moc)
2/ TADY NEVIM CO - tak pak nic
3/ ve funkci je připojení k databázi. To je zbytečné, již k databázi připojen jste, stačí použít funkce Joomly (JDatabase)
4/ nepotřebujete new foruminfo - máte ModForumHelper, tedy
Code:
$topics = ModForumHelper::getlastmessages();
Code:
foreach ($posts as $post) ....
- Tydou
- Autor
- OFFLINE
- Uživatel
-
Méně
Více
- Příspěvky: 17
06. říj 2015 23:21 #123814
od Tydou
Odpověď od Tydou v tématu modul posledni prispevky z fora
Díky za radu, neco z toho chapu, ale ve finale to asi do kupy nedam, slo by to trochu podrobneji rozepsat?
To pripojeni k databazi je mysleno toto?
Ted kdyz to zkusim pustit tak to hodi jen bilou stranku po refreshi.
To pripojeni k databazi je mysleno toto?
Code:
// Database Configuration (Where your phpBB config.php file is located)
include $urlPath.'/config.php';
$link = mysql_connect($dbhost, $dbuser, $dbpasswd) or die("Could not connect");
mysql_select_db($dbname) or die("Could not select database");
Ted kdyz to zkusim pustit tak to hodi jen bilou stranku po refreshi.
- Cony
-
- Pryč
- Moderátor
-
Méně
Více
- Příspěvky: 5174
07. říj 2015 09:46 - 07. říj 2015 09:48 #123823
od Cony
Odpověď od Cony v tématu modul posledni prispevky z fora
Bílá stránka znamená chybu a vyplé hlášení chyb. Zapněte si v globálním nastavení hlášení chyb na maximum.
Připojení k Databázi je opravdu to co jste psal. V podstatě ten kód co máte je jen jeden jednoduchý dotaz na databázi.
např. takto
helper.php
a pak
a
PS. píšu z hlavy, asi v tom budou nějaké chyby :whistle:
Připojení k Databázi je opravdu to co jste psal. V podstatě ten kód co máte je jen jeden jednoduchý dotaz na databázi.
např. takto
helper.php
Code:
<?php
class ModForumHelper
{
public static function getLastPosts($count = 8) {
$db = JFactory::getDBO();
$query = $db->getQuery(true)
->select('p.*.u.username,t.topic_title')
->from('phpbb_posts AS p')
->join('LEFT','phpbb_users AS u ON u.user_id=p.poster_id')
->join('LEFT','phpbb_topics AS t ON t.topic_id=p.topic_id')
->order('post_id DESC')
->setLimit($count);
$db->setQuery($query);
return $db->loadObjectList();
}
}
Code:
$posts = ModForumHelper::getLastPosts();
Code:
<?php foreach ($posts as $post) { ?>
<a href="/forum/viewtopic.php?f=<?php echo $post->forum_id; ?>&t=<?php echo $post->topic_id; ?>&p=<?php echo $post->post_id; ?>#<?php echo $post->forum_id; ?>"><?php echo $post->topic_title; ?></a>
<strong>napsal:</strong>
<a href="/forum/profile.php?mode=viewprofile&u=<?php echo $post->poster_id; ?>"><?php echo $post->username; ?></a>
<?php }
- Houbák
- OFFLINE
- Zkušený uživatel
-
07. říj 2015 10:44 #123825
od Houbák
Odpověď od Houbák v tématu modul posledni prispevky z fora
Jenom bych doplnil Conyho. Pokud budete chtít používat třídu JDatabase z Joomly, musíte mít u databázových tabulek stejný prefix jako mají databázové tabulky v Joomle.
- Tydou
- Autor
- OFFLINE
- Uživatel
-
Méně
Více
- Příspěvky: 17
07. říj 2015 12:48 #123828
od Tydou
Odpověď od Tydou v tématu modul posledni prispevky z fora
Tak uz jsem to rozbehnul
nejdriv jsem zkusil jeste zmenit DIR místo FILE a uz to zaclo vypisovat prispevky ale se spoustou chyb, opravil jsem mysql na mysqli, tim jsem odstranil dalsi chybu
zustala tam chyba
Strict Standards: Non-static method ModForumHelper::getlastmessages() should not be called statically in /
a
Notice: Undefined variable: forum in /
kdyz vypnu chybove hlaseni tak to zmizi a funguje, ale chtel bych to poladit uplne bez chyb
nejdriv jsem zkusil jeste zmenit DIR místo FILE a uz to zaclo vypisovat prispevky ale se spoustou chyb, opravil jsem mysql na mysqli, tim jsem odstranil dalsi chybu
zustala tam chyba
Strict Standards: Non-static method ModForumHelper::getlastmessages() should not be called statically in /
a
Notice: Undefined variable: forum in /
kdyz vypnu chybove hlaseni tak to zmizi a funguje, ale chtel bych to poladit uplne bez chyb
- Cony
-
- Pryč
- Moderátor
-
Méně
Více
- Příspěvky: 5174
07. říj 2015 13:03 #123830
od Cony
nemusí, stačí nepoužívat v dotazech prefix #__ ale natvdo zapsat prefix tabulek, jako zde např. phpbb_
Odpověď od Cony v tématu modul posledni prispevky z fora
Nehoubak napsal: Jenom bych doplnil Conyho. Pokud budete chtít používat třídu JDatabase z Joomly, musíte mít u databázových tabulek stejný prefix jako mají databázové tabulky v Joomle.
- Cony
-
- Pryč
- Moderátor
-
Méně
Více
- Příspěvky: 5174
07. říj 2015 13:06 #123831
od Cony
Odpověď od Cony v tématu modul posledni prispevky z fora
funkci getlastmessages deklarujte jako public static function.Tydou napsal: Strict Standards: Non-static method ModForumHelper::getlastmessages() should not be called statically in /
Někde tam používáte proměnou $forum, která neexistuje (není před použitím deklarována).Tydou napsal: Notice: Undefined variable: forum in /
- Houbák
- OFFLINE
- Zkušený uživatel
-
07. říj 2015 14:34 #123832
od Houbák
Odpověď od Houbák v tématu modul posledni prispevky z fora
Cony, omlouvám se, neuvědomil jsem si, že v mysql dotazu není použit "joomlácký" prefix.Cony napsal:
Nehoubak napsal: Jenom bych doplnil Conyho. Pokud budete chtít používat třídu JDatabase z Joomly, musíte mít u databázových tabulek stejný prefix jako mají databázové tabulky v Joomle.
nemusí, stačí nepoužívat v dotazech prefix #__ ale natvdo zapsat prefix tabulek, jako zde např. phpbb_
Vygenerováno za 0.082 sekund