Differences

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

english:phpwcms_replacer_rts:frontend_render:show_article_cp [2010/01/16 11:21]
Knut Heermann (flip-flop)
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}]] 
-Display CPs from articles in listing-mode at the place {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. 
-If you want to show a CP you only must write {SHOW_CP} in the CP comment field.+If you want to show a CP you only have to place {SHOW_CP} into the CP comment field.
A wrapper //**<div class="show_article_cp">**OUTPUT**</div>**// is added for a better non text output. \\ A wrapper //**<div class="show_article_cp">**OUTPUT**</div>**// is added for a better non text output. \\
-Please create the //class **.show_article_cp**// in your favor css file if you want.\\  +Please do create the //class **.show_article_cp**// in your favorite css file if you want.\\  
-If the tag has no output (e.g. in an other structure level) so we haven´t any crappy formatting splits.+In case the tag has no output (e.g. in another structure level) we will not produce any crappy formatting splits this way.
Line 27: Line 27:
</code> </code>
-TAG: **{SHOW_ARTICLE_CP}** for activating/placing this rt in your template+TAG: **{SHOW_ARTICLE_CP}** for activating/placing this RT within your template
TAG: **[X]{SHOW_CP}** in the comment field of the displayed CP TAG: **[X]{SHOW_CP}** in the comment field of the displayed CP
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 first in comment field for correctly 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 =====+
-You can turn off the sort order by the comment, and turn on sorting as defined in the structural by changing in  \\+====== 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  \\
"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.1263637274.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