Differences

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

english:phpwcms_replacer_rts:frontend_render:show_article_cp [2010/01/16 14:44]
Claus
english:phpwcms_replacer_rts:frontend_render:show_article_cp [2018/06/03 18:09] (current)
Line 1: Line 1:
{{indexmenu_n>500}} {{indexmenu_n>500}}
 +
===== SHOW_ARTICLE_CP ===== ===== SHOW_ARTICLE_CP =====
Line 5: Line 6:
Tag: **{SHOW_ARTICLE_CP} <-> {SHOW_CP}** Tag: **{SHOW_ARTICLE_CP} <-> {SHOW_CP}**
-Forum: [[http://forum.phpwcms.org/viewtopic.php?f=8&t=17082|{SHOW_ARTICLE_CP} <-> {SHOW_CP}]] 
DisplayS CPs OF articles in listing-mode where you are placing {SHOW_ARTICLE_CP} in your active structure. DisplayS CPs OF articles in listing-mode where you are placing {SHOW_ARTICLE_CP} in your active structure.
Line 33: Line 33:
Where **[X]** is the sort criterion e.g. **A{SHOW_CP} .... B{SHOW_CP} .... C{SHOW_CP} ....** Where **[X]** is the sort criterion e.g. **A{SHOW_CP} .... B{SHOW_CP} .... C{SHOW_CP} ....**
-Place this tag at first in comment field for correct sorting (If you need)!!!+:!: Place this tag at first in comment field for correct sorting (If you need) :!:
And -> CP status: [x] visible (Or change "acontent_visible" in script). And -> CP status: [x] visible (Or change "acontent_visible" in script).
 +
 +\\
---- ----
---- ----
 +
 +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: Changing the sorting criterion //(17.01.2010)//
 +
 + 
 +
 +Tag: **{SHOW_ARTICLE_CP} <-> {SHOW_CP}**
 +
 +Filename: **rt_show_article_cp.php** \\
 +Filder:  ** template/inc_script/frontend_render/ **
 +
 +**Condition:**  -> [[http://www.phpwcms-docu.de/conf_inc_php_en.phtml|/config/phpwcms/conf.inc.php]] \\
 +  * $phpwcms['allow_ext_render']  = 1;
 +
 +
 +----
 +----
 +
\\ \\
 +===== 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 131: Line 159:
</code> </code>
-\\+~~UP~~
-===== Changing the sorting criterion =====+====== Update v1.1: Changing the sorting criterion ======
You can turn off the sort order via the comment, and turn on sorting as defined in the structure by changing in  \\ You can turn off the sort order via the comment, and turn on sorting as defined in the structure by changing in  \\
"template/inc_script/frontend_render/rt_show_article_cp.php" \\ "template/inc_script/frontend_render/rt_show_article_cp.php" \\
-around line 60 \\+around line 48 \\
from from
-<code php>     $sql .= "ORDER BY acontent_comment"; // acontent_comment, article_aid, acontent_sorting</code>+<code php> 
 +// CUSTOM INPUT ============================================== 
 +// sort order: [true|false] [by comment field | by structure] 
 +  $sort_by_comment = true; 
 +// =========================================================== 
 +</code>
to to
-<code php>      $sql .= "ORDER BY acontent_sorting"; // acontent_comment, article_aid, acontent_sorting</code>+<code php> 
 +// CUSTOM INPUT ============================================== 
 +// sort order: [true|false] [by comment field | by structure] 
 +  $sort_by_comment = false; 
 +// =========================================================== 
 +</code> 
 + 
 + 
 +\\ 
 + 
 +==== 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~~ 
 +\\ 
 + 
 +===== For programmers: ===== 
 +  
 + 
 +<note tip> 
 +  
 +**The basic routine to determine the IDs of all items in a category:** 
 +<code php> 
 +   $article = array(); 
 +    
 +   foreach($GLOBALS['content']['articles'] as $value) { 
 +      $article[] = $value['article_id']; 
 +   } 
 + 
 +   if(count($article)) {  
 +      ........ 
 + 
 +</code> 
 +\\ 
 + 
 +**The ID of the current article:**  
 +<code php> 
 +$GLOBALS['aktion'][1]; 
 +</code> 
 +\\ 
 +If the IDs of the CPs of an article are required, they must be read from the DB. CP-IDs are not held in the parent hierarchy, in this case the articles. \\ 
 +The routine for this is shown in the RT. 
 + 
 +Interesting for this is the inserted tag {SHOW_CONTENT:....} and/or the function 
 +<code php>function showSelectedContent($param='') { ...</code> 
 +in %%''/include/inc_front/ext.func.inc.php''%%. 
english/phpwcms_replacer_rts/frontend_render/show_article_cp.1263649457.txt.gz · Last modified: 2018/06/03 18:08 (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