NAVIGATION
This shows you the differences between two versions of the page.
|
deutsch:ersetzer_rts:frontend_render:xbrowse-up-next-prev [2010/07/09 14:59] Knut Heermann (flip-flop) |
deutsch:ersetzer_rts:frontend_render:xbrowse-up-next-prev [2018/06/03 18:09] (current) |
||
|---|---|---|---|
| Line 3: | Line 3: | ||
| ====== {XBROWSE:NEXT/PREV/UP:LinkText:X} ====== | ====== {XBROWSE:NEXT/PREV/UP:LinkText:X} ====== | ||
| - | Ein erweiterter [[http://www.phpwcms-docu.de/navigations_tags_.phtml|{BROWSE:....}]] Tag, der als Linktext den Artikeltitel/Subtitel oder Kategorietitel optional ausgeben kann. Im Artikellistenmodus ist eine Schleife einstellbar, die bei PREV vom ersten zum letzten und bei NEXT vom letzten zum ersten Artikel verzweigt. Die gewohnten Einstellungen aus dem Tag [[http://www.phpwcms-docu.de/navigations_tags_.phtml|{BROWSE:....}]] können verwendet werden. | + | Ein erweiterter [[http://www.phpwcms-docu.de/navigations_tags_.phtml|{BROWSE:....}]] Tag, der als Linktext den Artikeltitel/Subtitel oder Kategorietitel optional ausgeben kann. Im Artikellistenmodus ist eine Schleife einstellbar, die bei PREV vom ersten zum letzten und bei NEXT vom letzten zum ersten Artikel verzweigt. Die gewohnten Einstellungen aus dem Tag [[http://www.phpwcms-docu.de/navigations_tags_.phtml|{BROWSE:....}]] können verwendet werden. |
| + | \\ | ||
| + | Darüberhinaus kann im Script eingestellt werden: | ||
| + | * Ein alternativer Text für den Fall das kein Link vorhanden ist | ||
| + | * die maximale Anzahl Zeichen für den Linktext | ||
| + | * anhängendes Zeichen/String wenn max. Anz. Zeichen überschritten ist | ||
| + | * Prefix/Suffix wenn kein Link generiert wurde //(Z.B. in der Einstellung :0)//. | ||
| + | |||
| + | Es werden autom. CSS Klassen generiert für die Zustände "kein Link", "erster Link" bei PREV wenn dieser verlassen wird, "letzter Link" bei NEXT wenn dieser verlassen wird, wenn zu einer Kategorie verlinkt wird. | ||
| + | |||
| + | <note important>Dieser TAG ersetzt den TAG [[deutsch/ersetzer_rts/frontend_render/xbrowse-up]]. //(Bitte nicht parallel verwenden).// </note> | ||
| + | |||
| + | \\ | ||
| ===== Beschreibung: ===== | ===== Beschreibung: ===== | ||
| Line 10: | Line 22: | ||
| **{XBROWSE:UP:LinkText}** oder z.B. **{XBROWSE:UP:^^ | ^^}** \\ | **{XBROWSE:UP:LinkText}** oder z.B. **{XBROWSE:UP:^^ | ^^}** \\ | ||
| + | * **LinkText** = frei definierbarer Text | ||
| * **|** = Platzhalter für Kategorietitel \\ | * **|** = Platzhalter für Kategorietitel \\ | ||
| Unterschiedlicher Rücksprung aus einer Kategorie/Artikel bei einfachem Artikelmodus oder Listen-Artikelmodus. -> [[deutsch/phpwcms-system/artikel#darstellungsmodi|Darstellungsmodi]] | Unterschiedlicher Rücksprung aus einer Kategorie/Artikel bei einfachem Artikelmodus oder Listen-Artikelmodus. -> [[deutsch/phpwcms-system/artikel#darstellungsmodi|Darstellungsmodi]] | ||
| Line 23: | Line 36: | ||
| * **:0** = keine Linkverzweigung wenn Anfangs/Endeartikel erreicht | * **:0** = keine Linkverzweigung wenn Anfangs/Endeartikel erreicht | ||
| * **:1** = Linkverzweigung zum nächsten Artikel in der nächsten Ebene wenn Anfangs/Endeartikel erreicht | * **:1** = Linkverzweigung zum nächsten Artikel in der nächsten Ebene wenn Anfangs/Endeartikel erreicht | ||
| - | * **:2** = Linkverzweigung zum letzten/ersten Artikel wenn Anfangs/Endeartikel erreicht //(Nur im Listenmodus möglich, sonst wie :1)// | + | * **:2** = Linkverzweigung zum letzten/ersten Artikel wenn Anfangs/Endeartikel erreicht (Schleife) \\ //(Nur im Listenmodus möglich, sonst wie :1)// |
| \\ | \\ | ||
| + | |||
| + | ==== Paramter im Script: ==== | ||
| + | |||
| + | <code php> | ||
| + | // ************ CUSTOM VAR *********************************************** | ||
| + | |||
| + | $up_no_linktext = '--'; // +KH: if no link is available | ||
| + | $up_max_char_count = 30; // +KH: max chars in link text | ||
| + | $up_max_char_affix = '…'; // +KH: affix if > max_char_count | ||
| + | $up_prefix_no_link = '<span class="xbrowse-unolink">'; | ||
| + | $up_sufix_no_link = '</span>'; | ||
| + | |||
| + | $next_no_linktext = '--'; // +KH: if no link is available | ||
| + | $next_max_char_count = 30; // +KH: max chars in link text | ||
| + | $next_max_char_affix = '…'; // +KH: affix if > max_char_count | ||
| + | $next_prefix_no_link = '<span class="xbrowse-nnolink">'; | ||
| + | $next_sufix_no_link = '</span>'; | ||
| + | |||
| + | $prev_no_linktext = '--'; // +KH: if no link is available | ||
| + | $prev_max_char_count = 30; // +KH: max chars in link text | ||
| + | $prev_max_char_affix = '…'; // +KH: affix if > max_char_count | ||
| + | $prev_prefix_no_link = '<span class="xbrowse-pnolink">'; | ||
| + | $prev_sufix_no_link = '</span>'; | ||
| + | |||
| + | // ************ END CUSTOM VAR ******************************************* | ||
| + | </code> | ||
| + | |||
| + | \\ | ||
| + | |||
| + | ====== ====== | ||
| + | |||
| Dieser Tag kann alternativ zum eingebauten [[http://www.phpwcms-docu.de/navigations_tags_.phtml|{BROWSE:NEXT/PREV/UP:LinkText}]] eingesetzt werden. | Dieser Tag kann alternativ zum eingebauten [[http://www.phpwcms-docu.de/navigations_tags_.phtml|{BROWSE:NEXT/PREV/UP:LinkText}]] eingesetzt werden. | ||
| + | |||
| ---- | ---- | ||
| \\ | \\ | ||
| Line 33: | Line 78: | ||
| Docu: -- \\ | Docu: -- \\ | ||
| - | Forum: [[http://forum.phpwcms.org/viewtopic.php?f=16&t=19936]] | + | Forum: -- |
| Line 63: | Line 108: | ||
| ==== Code V1.0: ==== | ==== Code V1.0: ==== | ||
| - | Verzeichnis: template/inc_script/frontend_render/ \\ | + | Verzeichnis: **template/inc_script/frontend_render/** \\ |
| - | Datei: rt_xbrowse_neprup.php | + | Datei: **rt_xbrowse_neprup.php** |
| <code php |h rt_xbrowse_neprup |h > | <code php |h rt_xbrowse_neprup |h > | ||
| Line 86: | Line 131: | ||
| * "Link Text" or | or || | * "Link Text" or | or || | ||
| * = "Link Text" or "Link article title" or or "Link article subtitle" | * = "Link Text" or "Link article title" or or "Link article subtitle" | ||
| - | * off = no jump to the next/prev category if the article is the last/first one | + | * 0=off = no jump to the next/prev category if the article is the last/first one |
| - | * on = next/prev category follows last/first article | + | * 1=on = next/prev category follows last/first article |
| - | * loop = last/first article follows first/last article in list mode | + | * 2=loop = last/first article follows first/last article in list mode |
| * | * | ||
| * | * | ||
| Line 114: | Line 159: | ||
| $up_no_linktext = '--'; // +KH: if no link is available | $up_no_linktext = '--'; // +KH: if no link is available | ||
| $up_max_char_count = 30; // +KH: max chars in link text | $up_max_char_count = 30; // +KH: max chars in link text | ||
| - | $up_max_char_affix = '…'; // +KH: affix if > max_char_count | + | $up_max_char_affix = '…'; // +KH: affix if > max_char_count |
| - | $up_class_no_link = 'span'; | + | $up_prefix_no_link = '<span class="xbrowse-unolink">'; |
| + | $up_sufix_no_link = '</span>'; | ||
| $next_no_linktext = '--'; // +KH: if no link is available | $next_no_linktext = '--'; // +KH: if no link is available | ||
| Line 137: | Line 183: | ||
| // UP ========================================================== | // UP ========================================================== | ||
| - | function xget_index_link_up($linktext, $no_linktext, $max_char_count, $max_char_affix,$class_no_link) { | + | function xget_index_link_up($linktext, $no_linktext, $max_char_count, $max_char_affix,$prefix_no_link,$sufix_no_link) { |
| Line 163: | Line 209: | ||
| } | } | ||
| + | $linktext = str_replace('||','',$linktext); // +KH | ||
| + | |||
| + | // Is there any placeholder in linktext and link available? | ||
| + | if (!$link AND strpos($linktext, '|')) | ||
| + | $linktext = str_replace('|', $no_linktext, $linktext); | ||
| + | |||
| // generate the linktext | // generate the linktext | ||
| $cat_name = $GLOBALS['content']['struct'][$cat_id]['acat_name']; | $cat_name = $GLOBALS['content']['struct'][$cat_id]['acat_name']; | ||
| - | $linktext = str_replace('||','',$linktext); // +KH | ||
| $linktext = str_replace('|',((strlen($cat_name) > $max_char_count)? | $linktext = str_replace('|',((strlen($cat_name) > $max_char_count)? | ||
| - | substr($cat_name,0,$max_char_count).$max_char_affix: | + | substr($cat_name,0,$max_char_count).$max_char_affix: |
| - | $cat_name), | + | $cat_name), |
| $linktext); // +KH | $linktext); // +KH | ||
| + | |||
| + | return ($link) ? $link.$linktext.'</a>' : $prefix_no_link.$linktext.$sufix_no_link; | ||
| - | return ($link) ? $link.$linktext.'</a>' : '<'.$class_no_link.' class="xbrowse-unolink">'.$no_linktext.'</'.$class_no_link.'>'; | ||
| } | } | ||
| Line 436: | Line 488: | ||
| - | $content["all"] = preg_replace('/\{XBROWSE:UP:(.*?)\}/e','xget_index_link_up("$1",$up_no_linktext,$up_max_char_count,$up_max_char_affix,$up_class_no_link);',$content["all"]); | + | $content["all"] = preg_replace('/\{XBROWSE:UP:(.*?)\}/e','xget_index_link_up("$1",$up_no_linktext,$up_max_char_count,$up_max_char_affix,$up_prefix_no_link,$up_sufix_no_link);',$content["all"]); |
| $content["all"] = preg_replace('/\{XBROWSE:NEXT:(.*?):(0|1|2)\}/e','xget_index_link_next("$1",$2,$next_no_linktext,$next_max_char_count,$next_max_char_affix,$next_prefix_no_link,$next_sufix_no_link);',$content["all"]); | $content["all"] = preg_replace('/\{XBROWSE:NEXT:(.*?):(0|1|2)\}/e','xget_index_link_next("$1",$2,$next_no_linktext,$next_max_char_count,$next_max_char_affix,$next_prefix_no_link,$next_sufix_no_link);',$content["all"]); | ||
| $content["all"] = preg_replace('/\{XBROWSE:PREV:(.*?):(0|1|2)\}/e','xget_index_link_prev("$1",$2,$prev_no_linktext,$prev_max_char_count,$prev_max_char_affix,$prev_prefix_no_link,$prev_sufix_no_link);',$content["all"]); | $content["all"] = preg_replace('/\{XBROWSE:PREV:(.*?):(0|1|2)\}/e','xget_index_link_prev("$1",$2,$prev_no_linktext,$prev_max_char_count,$prev_max_char_affix,$prev_prefix_no_link,$prev_sufix_no_link);',$content["all"]); | ||