Last Knowledge Base articles on ezPortal

Kleine Codeänderungen oder Mini-MODs
Keine Anfragen!!! -- No requests!!!

Moderator: Supporter

Last Knowledge Base articles on ezPortal

Beitragvon AmigaLink » 26. Mär 2005 21:43

Zeigt die letzten 5 Artikel, aus dem Knowledge Base, im ezPortal an.

Code: Alles auswählen
#
#----------[ OPEN ]-------------------------------------
#

portal.php

#
#----------[ FIND ]-------------------------------------
#

// Generate the page
$template->pparse('body');

#
#----------[ BEFORE, ADD ]------------------------------
#

// Latest Kb Article
$sql = "SELECT * FROM " . $table_prefix . "kb_articles ORDER BY article_date DESC LIMIT 0,5";
if ( !($result = $db->sql_query($sql)) )
{
   message_die(GENERAL_ERROR, 'Could not query database for the most downloads');
}

$template->assign_vars(array(
   'TITLE_LATEST_KB' => $lang['Latest_kb'])
);

$i = 1;
while ($file_latest = $db->sql_fetchrow($result))
{   
   $template->assign_block_vars('kbrow', array(
      'FILELINK_LATEST_KB' => append_sid("kb.php?mode=article&k=" . $file_latest['article_id']),
      'FILENAME_LATEST_KB' => (strlen($file_latest['article_title']) >= 40 ) ? substr($file_latest['article_title'], 0, 37).'...' : $file_latest['article_title'],
      'DATE_LATEST_KB' => create_date($board_config['default_dateformat'], $file_latest['article_date'], $board_config['board_timezone']))
   );
       
   $i++;
}
// Latest Kb Article

#
#----------[ OPEN ]-------------------------------------
#

templates/subSilver/portal_body.tpl

#
#----------[ FIND ]-------------------------------------
#

        <table width="100%" cellpadding="2" cellspacing="1" border="0" class="forumline">
         <tr>
         <td class="catHead" height="25"><span class="genmed"><b>{L_STATISTICS}</b></span></td>
         </tr>
         <tr>
         <td class="row1" align="left"><span class="gensmall">{TOTAL_USERS}<br />{NEWEST_USER}<br /><br/>{TOTAL_POSTS} {TOTAL_TOPICS}<br />&nbsp;</span></td>
         </tr>
        </table>
       
        <br />

#
#----------[ AFTER, ADD ]-------------------------------
#

<!-- Latest Article -->
<table width="100%" cellpadding="2" cellspacing="1" border="0" class="forumline">
   <tr>
      <td class="catHead" height="25"><span class="genmed"><b>{TITLE_LATEST_KB}</b></span></td>
   </tr>
<!-- BEGIN kbrow -->
   <tr>
      <td class="row1"><span class="gensmall">&nbsp;&raquo;&nbsp;<a href="{kbrow.FILELINK_LATEST_KB}">{kbrow.FILENAME_LATEST_KB}</a>&nbsp;-&nbsp;{kbrow.DATE_LATEST_KB}&nbsp;</span></td>
   </tr>
<!-- END kbrow -->
   <tr>
      <td class="row2">&nbsp;</td>
   </tr>
</table>
<br />
<!-- / Latest Article -->

#
#----------[ OPEN ]-------------------------------------
#

language/lang_english/lang_main.php

#
#----------[ FIND ]-------------------------------------
#

?>

#
#----------[ BEFORE, ADD ]------------------------------
#

$lang['Latest_kb'] = 'Last article in Knowledge Base';

#
#----------[ OPEN ]-------------------------------------
#

language/lang_german/lang_main.php

#
#----------[ FIND ]-------------------------------------
#

?>

#
#----------[ BEFORE, ADD ]------------------------------
#

$lang['Latest_kb'] = 'Letzte Artikel in der Knowledge Base';

#
#----------[ SAVE AND CLOSE ALL FILES ]-----------------
#
# EoM
Die deutsche Sprache ist Freeware, du kannst sie benutzen, ohne dafür zu bezahlen. Sie ist aber nicht Open Source, also darfst du sie nicht verändern, wie es dir gerade passt.
Benutzeravatar
AmigaLink
Administrator
 
Beiträge: 3987
Registriert: 11. Aug 2004 01:06
Wohnort: NRW

Beitragvon dash » 4. Nov 2006 21:31

ich möchte die neusten Artikel nur aus einer bestimmten Kategorie der Knowledge Base anzeigen . Wie stelle ich das an ?

Könnt ihr mir da helfen ?


Vielen Dank im vorraus
dash
 
Beiträge: 2
Registriert: 4. Nov 2006 21:20

Beitragvon AmigaLink » 5. Nov 2006 13:17

Kein Problem. :)
Code: Alles auswählen
#
#----------[ FIND ]-------------------------------------
#

// Latest Kb Article

#
#----------[ AFTER, ADD ]-------------------------------
#

$access_kb_cats = '1, 2';

#
#----------[ FIND ]-------------------------------------
#

$sql = "SELECT * FROM " . $table_prefix . "kb_articles ORDER BY article_date DESC LIMIT 0,5";

#
#----------[ INLINE FIND ]------------------------------
#

$sql = "SELECT * FROM " . $table_prefix . "kb_articles

#
#----------[ INLINE AFTER, ADD ]------------------------
#

WHERE article_category_id IN ('" . $access_kb_cats . "')

#
#----------[ SAVE AND CLOSE ALL FILES ]-----------------
#
# EoM


$access_kb_cats = '1, 2'; gibt an das Kategorien mit der id 1 und 2 angezeigt werden sollen. Ersetz also 1, 2 gegen die Kategorie(n) die du anzeigen möchtest.
Die deutsche Sprache ist Freeware, du kannst sie benutzen, ohne dafür zu bezahlen. Sie ist aber nicht Open Source, also darfst du sie nicht verändern, wie es dir gerade passt.
Benutzeravatar
AmigaLink
Administrator
 
Beiträge: 3987
Registriert: 11. Aug 2004 01:06
Wohnort: NRW

Beitragvon dash » 5. Nov 2006 14:42

yo danke für die schnelle Antwort,

ich hab noch ein Problem das ich mehrere Blöcke auf meiner Seite habe und die sollen aus verschiedenen Kategorien die jeweiligen Artikel anzeigen .

Ich hab zum Beispiel ein Block für Nachrichten Archiv und ein block für News Aktuell.

was muss ich ändern oder erweitern damit dies passieren kann ?

thx
dash
 
Beiträge: 2
Registriert: 4. Nov 2006 21:20

Beitragvon AmigaLink » 5. Nov 2006 15:20

In dem Fall machst du das besser so:
Code: Alles auswählen
#
#----------[ FIND ]-------------------------------------
#

// Latest Kb Article

#
#----------[ AFTER, ADD ]-------------------------------
#

$access_kb_cats = '1, 2';

#
#----------[ FIND ]-------------------------------------
#

$sql = "SELECT * FROM " . $table_prefix . "kb_articles ORDER BY article_date DESC LIMIT 0,5";

#
#----------[ INLINE FIND ]------------------------------
#

$sql = "SELECT * FROM " . $table_prefix . "kb_articles

#
#----------[ INLINE AFTER, ADD ]------------------------
#

WHERE article_category_id = 1

#
#----------[ SAVE AND CLOSE ALL FILES ]-----------------
#
# EoM
WHERE article_category_id = 1 bestimmt wieder die angezeigte Kategorie. Wenn du das Snippet mehrmals einbaust, musst du bei jedem zusätzlichem Block diese Kategorie anpassen.
Ausserdem musst du die Platzhalter für jeden zusätzlichen Block anpassen. Zum Beispiel so:
Code: Alles auswählen
#
#----------[ OPEN ]-------------------------------------
#

portal.php

#
#----------[ FIND ]-------------------------------------
#

   $template->assign_block_vars('kbrow', array(

#
#----------[ REPLACE WITH ]-----------------------------
#

   $template->assign_block_vars('kbrow_2', array(

#
#----------[ OPEN ]-------------------------------------
#

templates/subSilver/portal_body.tpl

#
#----------[ FIND ]-------------------------------------
#

<!-- BEGIN kbrow -->

#
#----------[ REPLACE WITH ]-----------------------------
#

<!-- BEGIN kbrow_2 -->

#
#----------[ FIND ]-------------------------------------
#

<!-- END kbrow -->

#
#----------[ REPLACE WITH ]-----------------------------
#

<!-- END kbrow_2 -->

#
#----------[ SAVE AND CLOSE ALL FILES ]-----------------
#
# EoM
Die deutsche Sprache ist Freeware, du kannst sie benutzen, ohne dafür zu bezahlen. Sie ist aber nicht Open Source, also darfst du sie nicht verändern, wie es dir gerade passt.
Benutzeravatar
AmigaLink
Administrator
 
Beiträge: 3987
Registriert: 11. Aug 2004 01:06
Wohnort: NRW

Beitragvon smarty » 5. Jan 2008 14:59

Super, dieser Snippet :)

Anbei eine Frage:
es werden alle Artikel ausgegeben, auch wenn für bestimmte Artikel keine Readrechte bestehen.

Jetzt habsch es so geändert
Code: Alles auswählen
       $template->assign_vars(array(
    'TITLE_LATEST_KB' => $lang['Latest_kb'])
);

$i = 1;
while ($file_latest = $db->sql_fetchrow($result))
{   
      if ( $file_latest['auth_view'])
      {
    $template->assign_block_vars('kbrow', array(
       'FILELINK_LATEST_KB' => append_sid("wb.php?mode=article&k=" . $file_latest['article_id']),
       'FILENAME_LATEST_KB' => (strlen($file_latest['article_title']) >= 24 ) ? substr($file_latest['article_title'], 0, 23).'...' : $file_latest['article_title'])
    );
       }
    $i++;
}


wodurch nun garnix angezeigt wird :?

Website kann ich leider nicht nennen, da ich alles local liegen habe.
smarty
 
Beiträge: 2
Registriert: 5. Jan 2008 14:51


Zurück zu phpBB2 Snippets



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 6 Gäste

cron