Sticky post ( Közlemény hozzászólás) mod ????

Szerző
Üzenet
_zso2
Gyakorlott phpBB-s
Gyakorlott phpBB-s
Avatar

Csatlakozott: 2006.07.25. Kedd 1:00
Hozzászólások: 2029
Hozzászólás Elküldve: 2007.02.12. 14:49    Hozzászólás témája: Sticky post ( Közlemény hozzászólás) mod ????
Hozzászólás az előzmény idézésével
Kérlek Benneteket, hogy ha valaki találkozott már ilyen MOD-dal, ossza meg velem az elérhetőségét. Kb. 10 MOD-gyűjtó oldalt néztem végig, de sehol nem találtam, mégcsak ráutaló dolgot sem, hogy lehetne megcsinálni.

Azt kellene elérnek, hogy azogy a fórumban a különböző témák közt lehetséges közleményt (mindig elől maradót) létrehozni, úgy lehessen egy témán belül "közlemény hozzászólást" létrehozni. Például, a téma akárhány oldalasra is duzzad, az első (második, hatodik, megjelölt) hozzászólás(ok) minden oldalán látszódjanak a témának.
_________________
Tapasztalást pénzért venni vagy hagyományképpen kapni nem lehet - fizetni kell azért mindég és mindegyiknek.

Felhasználó profiljának megtekintése Privát üzenet küldése Felhasználó weblapjának megtekintése
_zso2
Gyakorlott phpBB-s
Gyakorlott phpBB-s
Avatar

Csatlakozott: 2006.07.25. Kedd 1:00
Hozzászólások: 2029
Hozzászólás Elküldve: 2007.02.12. 16:55    Hozzászólás témája:
Hozzászólás az előzmény idézésével
Mégiscsak találtam rá egy (fél) megoldást:

phpbbhacks.com írta:

Show First Post on Every Page
This mod will show the first post on every page of the topic. Users can enable or disable showing the first post on every topic page.
A probléma csak annyi vele, hogy ha "fordított" (új hozzászólások elől) sorrendben nézi a t.user a fórumot, akkor ugyebár a LEGÚJABB üzenetet rakja ki legfelülre... :S

Gondolom, ezen a tájon kellene valamit állítani:

Kód:

$sql = "SELECT u.username, u.user_id, u.user_from, u.user_viewemail, u.user_sig, u.user_sig_bbcode_uid, p.*,  pt.post_text, pt.post_subject, pt.bbcode_uid
   FROM " . POSTS_TABLE . " p, " . USERS_TABLE . " u, " . POSTS_TEXT_TABLE . " pt
   WHERE p.topic_id = $topic_id
      $limit_posts_time
      AND pt.post_id = p.post_id
      AND u.user_id = p.poster_id
   ORDER BY p.post_time $post_time_order
   LIMIT 0, 1";

De nekem sajnos, lövésem nincs, mit... :S
***UPDATE***
Közben rájöttem...
A helyes kód:

Kód:

$sql = "SELECT u.username, u.user_id, u.user_from, u.user_viewemail, u.user_sig, u.user_sig_bbcode_uid, p.*,  pt.post_text, pt.post_subject, pt.bbcode_uid
   FROM " . POSTS_TABLE . " p, " . USERS_TABLE . " u, " . POSTS_TEXT_TABLE . " pt
   WHERE p.topic_id = $topic_id
      $limit_posts_time
      AND pt.post_id = p.post_id
      AND u.user_id = p.poster_id
   ORDER BY p.post_time ASC
   LIMIT 0, 1";

_________________
Tapasztalást pénzért venni vagy hagyományképpen kapni nem lehet - fizetni kell azért mindég és mindegyiknek.

Felhasználó profiljának megtekintése Privát üzenet küldése Felhasználó weblapjának megtekintése
_zso2
Gyakorlott phpBB-s
Gyakorlott phpBB-s
Avatar

Csatlakozott: 2006.07.25. Kedd 1:00
Hozzászólások: 2029
Hozzászólás Elküldve: 2007.02.13. 11:29    Hozzászólás témája:
Hozzászólás az előzmény idézésével
Na, még mindig ez a téma :)

A fentiekben látszik, hogy lehet megcsinálni, hogy oda-vissza működjön ez a dolog a topic megtekintése közben.
Mivel én egy RPG fórumot üzemeltetek, ennél sokkal jobb az, ha NEM a fórum olvasása, hanem hozzászólás írása közben látszik az első (helyszínleíró) hozzászólás.
Ezt is sikerült megbűvölni, tökéletesen működik. A probléma vele az, hogy ha az emberfia ÚJ TOPICOT akar nyitni, akkor hibaüzenettel elszáll (nyilván, hiszen nincs első üzenet a topicban, amit kiírhatna, lekérdezhetne.)

Az a (sokat butított) kód, amit használok, a következő:

Kód:

// Hack kezdete
// Első post infóinak lekérése
$sql = "SELECT u.username, u.user_id, u.user_from, u.user_viewemail, u.user_sig, u.user_sig_bbcode_uid, p.*,  pt.post_text, pt.post_subject, pt.bbcode_uid
   FROM " . POSTS_TABLE . " p, " . USERS_TABLE . " u, " . POSTS_TEXT_TABLE . " pt
   WHERE p.topic_id = $topic_id
      $limit_posts_time
      AND pt.post_id = p.post_id
      AND u.user_id = p.poster_id
   ORDER BY p.post_time ASC
   LIMIT 0, 1";
if ( !($result = $db->sql_query($sql)) )
{
   message_die(GENERAL_ERROR, "Could not obtain post/user information.", '', __LINE__, __FILE__, $sql);
}

if ( $row = $db->sql_fetchrow($result) )
{
   $postrow1 = array();
   $postrow1[] = $row;
   $db->sql_freeresult($result);
}
else
{
   message_die(GENERAL_MESSAGE, $lang['No_posts_topic']);
}

// Engedélyezve van-e a helyszínleírás megjelenítése?
if ($userdata['user_allowfirstmsg'] == 0) {
   $startfm = "<!--";
   $endfm = "-->";
}else{
   $startfm = "";
   $endfm = "";
}

// Template változók hozzárendelése
$template->assign_vars(array(
      'POST_SUBJECT' => $postrow1[0]['post_subject'],
      'FIRST_MESSAGE' => $postrow1[0]['post_text'],
      'STARTFM' => $startfm,
      'ENDFM' => $endfm )
);
// Hack vége

Ha valaki értené, mit is kell csinálnom... legyen oly kedves segíteni benne, ha kész a MOD, dokuemntálom, és feltöltöm közös használatra :)
_________________
Tapasztalást pénzért venni vagy hagyományképpen kapni nem lehet - fizetni kell azért mindég és mindegyiknek.

Felhasználó profiljának megtekintése Privát üzenet küldése Felhasználó weblapjának megtekintése
Marcee
Adminisztrátor
Adminisztrátor
Avatar

Csatlakozott: 2006.01.17. Kedd 1:00
Hozzászólások: 2921
Hozzászólás Elküldve: 2007.02.13. 17:53    Hozzászólás témája:
Hozzászólás az előzmény idézésével
És ha nem szakíttadnád meg a message_die függvénnyel, hanem a változóknak nem adnál értéket, kihagynád a postrow1 tömb értékadásait és úgy vennéd, hogy a felhasználónak ki van kapcsolva a helyszínleírás megjelenítése?

Vagy a phpBB Fecth All phpbb_fetch_topics() függvényével próbáld meg valahogy így:

Kód:


// Hack kezdete
$akarmi=phpbb_fetch_topics($topic_id, POSTS_FETCH_FIRST);

// Engedélyezve van-e a helyszínleírás megjelenítése?
if ($userdata['user_allowfirstmsg'] == 0) {
   $startfm = "<!--";
   $endfm = "-->";
}else{
   $startfm = "";
   $endfm = "";
}

// Template változók hozzárendelése
$template->assign_vars(array(
      'POST_SUBJECT' => $akarmi['post_subject'],
      'FIRST_MESSAGE' => $akarmi['post_text'],
      'STARTFM' => $startfm,
      'ENDFM' => $endfm )
);
// Hack vége

Felhasználó profiljának megtekintése Privát üzenet küldése
_zso2
Gyakorlott phpBB-s
Gyakorlott phpBB-s
Avatar

Csatlakozott: 2006.07.25. Kedd 1:00
Hozzászólások: 2029
Hozzászólás Elküldve: 2007.02.15. 11:58    Hozzászólás témája:
Hozzászólás az előzmény idézésével
Hmm, Marcee vonalán indultam el, aztán... jobban tanulmányozva a posting.php-t rájöttem, hogy egy egyszerű case szerkezetbe ágyazva tökéletesen működik a cuccos.

Kód:

switch( $mode )
{
   case 'newtopic':
      NEMCSINÁLSEMMIT
      break;

   case 'reply':
      KIÍRJA A KEZDŐHOZZÁSZÓLÁST
      break;

   case 'editpost':
      KIÍRJA A KEZDŐHOZZÁSZÓLÁST, ÉS FELHÍVJA A FIGYELMET, HOGY ÉPP AZT SZERKESZTED.
      break;
}


Azt hiszem, ennél jobb nem is kell, hogy legyen :)
Köszönöm, Marcee.

Megcsinálom az egészet, hogy megfeleljen a MOD-előírásnak, és ha kész vagyok, feltöltöm.
_________________
Tapasztalást pénzért venni vagy hagyományképpen kapni nem lehet - fizetni kell azért mindég és mindegyiknek.

Felhasználó profiljának megtekintése Privát üzenet küldése Felhasználó weblapjának megtekintése
fberci
Adminisztrátor
Adminisztrátor
Avatar

Csatlakozott: 2005.05.28. Szombat 1:00
Hozzászólások: 7388
Hozzászólás Elküldve: 2007.02.15. 20:45    Hozzászólás témája:
Hozzászólás az előzmény idézésével

_zso2 írta:

Megcsinálom az egészet, hogy megfeleljen a MOD-előírásnak, és ha kész vagyok, feltöltöm.
Mod (fájl) készítéséhez ajánlom a MOD Studio-t.
_________________
Üdv.: fberci
Kereső | Szabályzat | phpBB3 telepítés/frissítés/konvertálás | Útmutatók | Olympus - phpBB3 | Kérlek, ne küldj privát üzenetet nem személyes dologgal kapcsolatban!

Felhasználó profiljának megtekintése Privát üzenet küldése Felhasználó weblapjának megtekintése
Dávid1969
Regisztrált tag
Regisztrált tag


Csatlakozott: 2009.05.16. Szombat 14:31
Hozzászólások: 17
Hozzászólás Elküldve: 2009.05.19. 19:14    Hozzászólás témája:
Hozzászólás az előzmény idézésével

_zso2 írta:

Hmm, Marcee vonalán indultam el, aztán... jobban tanulmányozva a posting.php-t rájöttem, hogy egy egyszerű case szerkezetbe ágyazva tökéletesen működik a cuccos.

Kód:

switch( $mode )
{
   case 'newtopic':
      NEMCSINÁLSEMMIT
      break;

   case 'reply':
      KIÍRJA A KEZDŐHOZZÁSZÓLÁST
      break;

   case 'editpost':
      KIÍRJA A KEZDŐHOZZÁSZÓLÁST, ÉS FELHÍVJA A FIGYELMET, HOGY ÉPP AZT SZERKESZTED.
      break;
}


Azt hiszem, ennél jobb nem is kell, hogy legyen :)
Köszönöm, Marcee.

Megcsinálom az egészet, hogy megfeleljen a MOD-előírásnak, és ha kész vagyok, feltöltöm.
Akkor van ebből elérhető, használható változat? Nagyon kéne. De nem találom.
Ha van, akkor használatit is, pls.
Köszönet!

Felhasználó profiljának megtekintése Privát üzenet küldése
Hozzászólások megtekintése:  

Nem készíthetsz új témákat ebben a fórumban.
Nem válaszolhatsz egy témára ebben a fórumban.
Nem módosíthatod a hozzászólásaidat a fórumban.
Nem törölheted a hozzászólásaidat a fórumban.
Nem szavazhatsz ebben fórumban.

Hirdetés
Hirdetés