Differences

This shows you the differences between two versions of the page.

deutsch:ersetzer_rts:frontend_render:show_article_cp [2009/04/25 08:05]
127.0.0.1 external edit
deutsch:ersetzer_rts:frontend_render:show_article_cp [2018/06/03 18:09] (current)
Line 4: Line 4:
-Tag: **{SHOW_ARTICLE_CP} <-> {SHOW_CP}** 
-Forum: [[http://forum.phpwcms.org/viewtopic.php?f=8&t=17082|{SHOW_ARTICLE_CP} <-> {SHOW_CP}]] +Gibt die CPs der Artikel die sich in der aktiven Struktur befinden an der Stelle **{SHOW_ARTICLE_CP}** im Template aus. (Nur im Artikel Listen-Modus verfügbar).
- +
-Gibt die CPs der Artikel an der Stelle **{SHOW_ARTICLE_CP}** in der aktiven Struktur aus. Die Ausgabe der Artikel befindet sich im Listen-Modus.+
Wenn ein CP ausgegeben werden soll wird der Tag **{SHOW_CP}** in das CP Kommentarfeld eingefügt. Wenn ein CP ausgegeben werden soll wird der Tag **{SHOW_CP}** in das CP Kommentarfeld eingefügt.
Line 14: Line 11:
Es werden nur die CPs der Artikel in der aktuellen Ebene ausgegeben. Es werden nur die CPs der Artikel in der aktuellen Ebene ausgegeben.
 +\\
 +
 +----
 +----
 +
 +Docu: -- \\
 +Forum: [[http://forum.phpwcms.org/viewtopic.php?f=8&t=17082|{SHOW_ARTICLE_CP} <-> {SHOW_CP}]]
 +
 +
 +**Autor:** K.Heermann (flip-flop) http://planmatrix.de / O.Georgi http://phpwcms.de  \\
 +**CMS Version:** >= 1.3 \\
 +**Version:** V1.0 \\
 + Update: V1.1: Wechseln des Sortierkriteriums //(17.01.2010)//
 +
 + 
 +
 +Tag: **{SHOW_ARTICLE_CP} <-> {SHOW_CP}**
 +
 +Dateiname: **rt_show_article_cp.php** \\
 +Verzeichnis:  ** template/inc_script/frontend_render/ **
 +
 +**Bedingung:** -> [[http://www.phpwcms-docu.de/config_dateien.phtml|/config/phpwcms/conf.inc.php]] \\
 +
 +  * ##$phpwcms['allow_ext_render'] = 1;##
 +
 +
 +----
 +----
 +
 +
 +
\\ \\
Line 32: Line 60:
TAG: **{SHOW_ARTICLE_CP}** um den RT zu aktivieren und den Ort der Ausgabe in der Vorlage zu bestimmen. TAG: **{SHOW_ARTICLE_CP}** um den RT zu aktivieren und den Ort der Ausgabe in der Vorlage zu bestimmen.
-TAG: **[X]{SHOW_CP}** Im Kommentarfeld des anzuzeigenden CPs+TAG: **[X]{SHOW_CP}** im Kommentarfeld des anzuzeigenden CPs.
Wobei **[X]** das Sortierkriterium ist, z.B. **A{SHOW_CP}** ....**B{SHOW_CP}** .... **C{SHOW_CP}** .... Wobei **[X]** das Sortierkriterium ist, z.B. **A{SHOW_CP}** ....**B{SHOW_CP}** .... **C{SHOW_CP}** ....
-<note tip> 
-Platziere diesen Tag als ersten Eintrag in das Kommentarfeld wenn eine korrekte Sortierung verlangt wird ! 
-</not> 
-Und -> CP Status: [x] sichtbar (Oder ändere im Skript "acontent_visible").+:!: Platziere diesen Tag als ersten Eintrag in das Kommentarfeld wenn eine korrekte Sortierung verlangt wird :!: 
 + 
 + 
 +Und -> CP Status: [x] sichtbar (Oder ändere im Skript "acontent_visible" für die Darstellung unsichtbarer CPs).
Line 53: Line 81:
\\ \\
 +===== Code V1.0: =====
 +
 +
 +Location: **template/inc_script/frontend_render/rt_show_article_cp.php**
-Location: **/template/inc_script/frontend_render/rt_show_article_cp.php** 
<code php|h {SHOW_ARTICLE_CP} - {SHOW_CP} |h> <code php|h {SHOW_ARTICLE_CP} - {SHOW_CP} |h>
<?php <?php
Line 115: Line 146:
      $sql .= 'AND acontent_aid IN ('.implode(',', $article).') ';       $sql .= 'AND acontent_aid IN ('.implode(',', $article).') ';
      $sql .= "AND acontent_comment LIKE '%{SHOW_CP}%' ";       $sql .= "AND acontent_comment LIKE '%{SHOW_CP}%' ";
-      $sql .= "ORDER BY acontent_comment"; //, article_aid, acontent_sorting+      //  SORTING ORDER: sort by comment = "acontent_comment" | sort by id = "article_aid" | sort by structure = "acontent_sorting" 
 +      $sql .= "ORDER BY acontent_comment"; // acontent_comment, article_aid, acontent_sorting
             
      $result = _dbQuery($sql);       $result = _dbQuery($sql);
Line 140: Line 172:
?> ?>
</code> </code>
 +
 +~~UP~~
 +
 +====== Update v1.1: Wechseln des Sortierkriteriums ======
 +
 +Die Sortierung durch den Kommentar kann abgeschaltet und die Sortierung wie in der Struktur vorgegeben eingeschaltet werden: In der Datei   \\
 +"template/inc_script/frontend_render/rt_show_article_cp.php" \\
 +etwa ab Zeile 48  \\
 +von
 +<code php>
 +// CUSTOM INPUT ==============================================
 +// sort order: [true|false] [by comment field | by structure]
 +  $sort_by_comment = true;
 +// ===========================================================
 +</code>
 +nach
 +<code php>
 +// CUSTOM INPUT ==============================================
 +// sort order: [true|false] [by comment field | by structure]
 +  $sort_by_comment = false;
 +// ===========================================================
 +</code>
 +geändert wird.
 +
 +\\
 +
 +===== Code V1.1 =====
 +
 +Location: **template/inc_script/frontend_render/rt_show_article_cp.php**
 +
 +<code php|h rt_show_article_cp.php |h>
 +<?php
 +// **************************************************************************
 +// 24.04.08 Show CP from an article in list mode (V 1.0)
 +// 17.01.10 Show CP from an article in list mode (V 1.1)
 +// Knut Heermann (flip-flop) http://planmatrix.de
 +// 25.04.08 Edit by Oliver Georgi
 +// 26.04.08 KH: Output in only active site level doesn´t run
 +// 26.04.08 OG: Optimized source and add manual sorting e.g.
 +//              A{SHOW_CP} B{SHOW_CP} C{SHOW_CP} ....
 +// 17.01.09 KH: Sort order switch $sort_by_comment
 +//              sort order: [true|false] [by comment field | by structure]
 +//
 +// http://forum.phpwcms.org/viewtopic.php?p=102704#p102704
 +// http://forum.phpwcms.org/viewtopic.php?p=102798#p102798
 +//
 +// TAG:      {SHOW_ARTICLE_CP} for activating in your template
 +// TAG:      [X]{SHOW_CP} in the comment field of the displayed CP
 +//           Where [X] is the sort criterion e.g. A{SHOW_CP} B{SHOW_CP} ....
 +//           Places this tag first in comment field!!!
 +//
 +// Condition: CP status: [x] visible  (Or change "acontent_visible")
 +// Location: Put it into the file e.g.:
 +//           /template/inc_script/frontend_render/rt_show_article_cp.php
 +// Switch in conf.inc.php: $phpwcms['allow_ext_render']  = 1;
 +// **************************************************************************
 +// ----------------------------------------------------------------
 +// obligate check for phpwcms constants
 +if (!defined('PHPWCMS_ROOT')) {
 +   die("You Cannot Access This Script Directly, Have a Nice Day.");
 +}
 +// ----------------------------------------------------------------
 + 
 +// Nur ausfuehren wenn der Listenmodus eingeschaltet ist
 +// Only run if list mode is true
 +if( $content['list_mode'] == true && strpos($content["all"], '{SHOW_ARTICLE_CP}') !== false ) {
 + 
 +  $content["all"] = str_replace('{SHOW_ARTICLE_CP}','<div class="show_article_cp">'.my_article_count_cp().'</div>', $content["all"]);
 + 
 +} else {
 + 
 +   $content["all"] = str_replace('{SHOW_ARTICLE_CP}', '', $content["all"]);
 + 
 +}
 + 
 +function my_article_count_cp() {
 + 
 + 
 +// CUSTOM INPUT ==============================================
 +// sort order: [true|false] [by comment field | by structure]
 +  $sort_by_comment = true;
 +// ===========================================================
 + 
 + 
 +  // Artikel der aktuellen Seitenebene holen
 +   // get current listed article IDs
 +   $article = array();
 +   foreach($GLOBALS['content']['articles'] as $value) {
 +      // $article[$value['article_sort']] = $value['article_id'];
 +      $article[] = $value['article_id'];
 +   }
 +
 +
 +   if(count($article)) {
 + 
 +      // Artikel in der DB suchen und CP-ID bereitstellen
 +      // Search for the article and make the CP-ID available
 +      $sql  = "SELECT acontent_id, acontent_aid ";
 +      $sql .= "FROM ".DB_PREPEND."phpwcms_articlecontent ";
 +      $sql .= "WHERE acontent_visible=1 AND acontent_trash=0 ";
 +      $sql .= 'AND acontent_aid IN ('.implode(',', $article).') ';
 +      $sql .= "AND acontent_comment LIKE '%{SHOW_CP}%' ";
 +      // SORTING ORDER: sort by comment = "acontent_comment" | sort by id = "article_aid" | sort by structure = "acontent_sorting"
 +      $sql .= ($sort_by_comment)
 +           ? "ORDER BY acontent_comment"
 +           : "ORDER BY acontent_sorting"; //,acontent_comment, article_aid, acontent_sorting
 + 
 +      $result = _dbQuery($sql);
 + 
 +      if(isset($result[0]['acontent_id'])) {  // Any result available?
 +
 +         // CP-ID String fuer SHOW_CONTENT bereitstellen
 +         // Create CP-IDs string for SHOW_CONTENT
 +         $cp_my_id_str   = '';
 + 
 +         if ($sort_by_comment)  {  // sort by comment?
 +        
 +            foreach($result as $value) {
 +              $cp_my_id_str .= ','.$value['acontent_id'];
 +            }
 +          
 +         }
 +         else { // sort by structure
 +        
 +            foreach($article as $value1) {   // The article sort order by structure
 +
 +              foreach($result as $value2) {  // CP sort order by structure
 +
 +                 if ($value2['acontent_aid'] == $value1)  // CP in article?
 +                
 +                    $cp_my_id_str .= ','.$value2['acontent_id'];
 +              }
 +            
 +            }
 +          
 +         }
 +
 +
 +         // Ausgabe der betroffenen CPs mit SHOW_CONTENT
 +         // Make the encountered CPs available with SHOW_CONTENT
 +         return showSelectedContent('CP'.$cp_my_id_str);
 +      }
 +   }
 +   return '';
 +}
 + 
 +?>
 +</code>
 +
 +~~UP~~
 +\\
 +
 +===== Für Programmierer: =====
 +
 +
 + 
 +**Die Basisroutine um die IDs aller Artikel einer Kategorie zu bestimmen:**
 +<code php>
 +   $article = array();
 +  
 +   foreach($GLOBALS['content']['articles'] as $value) {
 +      $article[] = $value['article_id'];
 +   }
 +
 +   if(count($article)) {
 +      ........
 +
 +</code>
 +\\
 +
 +**Die ID des aktuellen Artikels:**
 +<code php>
 +$GLOBALS['aktion'][1];
 +</code>
 +\\
 +Wenn die IDs der CPs eines Artikels verlangt werden, müssen diese aus der DB ausgelesen werden. CP-IDs werden nicht in der übergeordneten Hierarchie, in diesem Fall den Artikeln, festgehalten. \\
 +Die Routine dazu ist im RT abgebildet.
 +
 +Interessant hierzu ist der eingebaute TAG {SHOW_CONTENT:....} bzw. die Funktion
 +<code php>function showSelectedContent($param='') { ...</code>
 +in %%''/include/inc_front/ext.func.inc.php''%%.
 +
deutsch/ersetzer_rts/frontend_render/show_article_cp.1240639555.txt.gz · Last modified: 2018/06/03 18:07 (external edit)
www.planmatrix.de www.chimeric.de Creative Commons License Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0