[NEU] Article List Reloaded (ALR)

Alles rund um Module und Plugins in CONTENIDO 4.9.
rethus
Beiträge: 1847
Registriert: Di 28. Mär 2006, 11:55
Wohnort: Mönchengladbach
Kontaktdaten:

Re: [NEU] Article List Reloaded (ALR)

Beitrag von rethus » So 9. Nov 2014, 11:27

Gebe das Zeichen direkt als HTML-Sonderzeichen ein: +


http://www.millin.de/downloads/3-935922 ... chhtml.htm
Could I help you... you can help me... buy me a coffee . (vielen ❤ Dank an: Seelauer, Peanut, fauxxami )

xstable.com: - HighSpeed Hosting, Domains, DomainReselling, Linux-Administration
suther.de: - App-Programierung, High-Performance-Webpages, MicroServices, API-Anbindungen & Erstellung

Software... ein Blick wert: GoogleCalender Eventlist, xst_dynamic_contentType

benja
Beiträge: 168
Registriert: Mi 31. Aug 2005, 10:54
Wohnort: Köln
Kontaktdaten:

Re: [NEU] Article List Reloaded (ALR)

Beitrag von benja » So 9. Nov 2014, 15:15

Danke, das habe ich schon probiert. Der Tiny macht daraus wieder ein normales +

homtata
Beiträge: 1107
Registriert: Mi 14. Jan 2004, 14:41
Kontaktdaten:

Re: [NEU] Article List Reloaded (ALR)

Beitrag von homtata » Di 18. Nov 2014, 18:53

Hallo benja,

so, ich konnte es eingrenzen und kann dir eine Lösung bieten, weiß aber nicht, wie sich das auf sonstige Sonderzeichen und ähnliches auswirkt. Ersetze bitte den Code der folgenden Zeilen mit demn un neuen Inhalt, wobei die letzte Zeile wie jetzt gezeigt auch auskommentiert sein muss. Da je nach Version die Zeilenzahlen anders sind, kann ich dir nur sagen, dass es ungefähr im Bereich von Zeile 470ff sein müsste.

Code: Alles auswählen

						$article[$k."_text_full"]         = $db3->f('value');
						$article[$k."_text_strippedabit"] = str_replace('  ', ' ', preg_replace('/\r/s', '', preg_replace('/\n|\t/s', ' ', strip_tags($db3->f('value'), $aSettings['k'.$k]['ElementAllowedTags']))));
						$article[$k."_text_stripped"]     = strip_tags($db3->f('value'));
                                                $article[$k."_text_cut"]          = capiStrTrimAfterWord($article[$k."_text_stripped"], $aSettings['k'.$k]['ElementWidth']).'...';
					
						if ( $aSettings['k'.$k]['DontStripTags'] ) {
							if ( strlen($aSettings['k'.$k]['ElementAllowedTags']) != 0 ) {
								$article[$k."_text"] = $article[$k."_text_strippedabit"];
							} else {
								$article[$k."_text"] = $article[$k."_text_full"];
							}
						} else {												
							if ( $aSettings['k'.$k]['ElementWidth'] > 0 && strlen($article[$k."_text_stripped"]) > $aSettings['k'.$k]['ElementWidth'] ) {
								$article[$k."_text"] = $article[$k."_text_cut"]; 
							} else {
								$article[$k."_text"] = $article[$k."_text_stripped"];
							}						
						}

						//$article[$k."_text"] = text2utf8( $article[$k."_text"] , false , $aSettings['UseUTF8Decoding'] );

benja
Beiträge: 168
Registriert: Mi 31. Aug 2005, 10:54
Wohnort: Köln
Kontaktdaten:

Re: [NEU] Article List Reloaded (ALR)

Beitrag von benja » Di 18. Nov 2014, 19:36

Danke :-) Ich teste das sobald ich die Zeit dafür finde und melde mich dann.

JuePoe
Beiträge: 92
Registriert: Mi 27. Jul 2005, 13:02
Wohnort: Hamburg + Wendland
Kontaktdaten:

Article List Reloaded (ALR): active

Beitrag von JuePoe » Mi 14. Jan 2015, 12:41

Hallo, alle,
ich möchte gern den aktiven Link angezeigt lassen, aber mit einem CSS-Inline-style 'active' versehen.
Dazu habe ich dem Smarty-Template eine Var hinzugefügt:

Code: Alles auswählen

$listObj->currentarticle
Die idart der aktuellen Seite wird ja auch im Code erzeugt:

Code: Alles auswählen

$thisidart
Aber ich finde in dem $article-Array nicht die idart der Liste.
Wie kann ich also die Idart der Link-Liste holen?

Damit würde der folgende Code funktionieren:
$listObj->currentarticle = ($thisidart == xxxy?' class="active"':'');
und im Template:
<h2><a href="{$article.link}" {$listObj->currentarticle}>{$article.headline}</a></h2>
Vielen Dank
Beste Grüße
Jürgen
dialog im netz Hamburg + Wendland

homtata
Beiträge: 1107
Registriert: Mi 14. Jan 2004, 14:41
Kontaktdaten:

Re: [NEU] Article List Reloaded (ALR)

Beitrag von homtata » Mi 14. Jan 2015, 14:52

Schnellschussversuch.. dafür müsstest du im Quellcode des Moduloutputs ungefähr bei Zeile 286 den Code wie folgt erweitern (erste Zeile original, zweite Zeile neu):

Code: Alles auswählen

$article['link'] = cUri::getInstance()->buildRedirect($aParams);
$article['idart'] = $db2->f('idart'));
und noch die gerade gültige idart auch übergeben im Modul, ca. Zeile 740 bei den anderen gleichartigen Übergaben:

Code: Alles auswählen

$tpl->assign('realidart', $idart);
Du kannst dann mit diesen beiden Variablen im Smarty in der Schleife arbeiten und dort die if/else-Geschichte machen:

Code: Alles auswählen

        {if $article.idart==$realidart}
            {assign var="activeclass" value='active'}
        {else}
            {assign var="activeclass" value=''}
        {/if}
und dann darauf zuweisen:

Code: Alles auswählen

<h2><a href="{$article.link}" class="{$activeclass}">{$article.headline}</a></h2>
So ungefähr sollte das hinhauen...

JuePoe
Beiträge: 92
Registriert: Mi 27. Jul 2005, 13:02
Wohnort: Hamburg + Wendland
Kontaktdaten:

Re: [NEU] Article List Reloaded (ALR)

Beitrag von JuePoe » Mi 14. Jan 2015, 17:48

Prima.
Klappt – nachdem ich den Template-Code

Code: Alles auswählen

 {if $article.idart==$realidart} usw.
in die foreach-Schleife geschoben habe.
in der Schleife arbeiten
habe ich dann auch gefunden.

Perfekt. Danke
Jürgen
dialog im netz Hamburg + Wendland

homtata
Beiträge: 1107
Registriert: Mi 14. Jan 2004, 14:41
Kontaktdaten:

Re: [NEU] Article List Reloaded (ALR)

Beitrag von homtata » Mi 14. Jan 2015, 21:55

Freut mich, dass es geklappt hat.

Ich habe neue Modulversionen hochgeladen (Seite 1) und auch diese Änderungen mit einfließen lassen - aus Fortschreibungsgründen heißt die neue Variable nun aber

Code: Alles auswählen

$article['articleid']
Bitte beachten, falls du das Modul je updatest.

Ebenfalls neu: eine Version, mit der auch Artikellisten für Tagging/Content Allocation jetzt möglich sind.

Horst1234
Beiträge: 333
Registriert: Sa 25. Okt 2008, 12:45
Wohnort: Bremen
Kontaktdaten:

ALR mehrfach einbinden klappt nicht

Beitrag von Horst1234 » Mo 26. Jan 2015, 13:02

Hallo,
ich kann die aktuelle Version (corr.6) in CONTENIDO 4.9.6 gut einbinden, aber sobald ich es zweifach einbinden möchte, ist im Backend die Seite komplett weiss.
Selbst wenn ich in Vorlage oder der Seitenkonfiguration das zweite ALR inaktiv stelle, bleibt alles leer. Erst wenn ich in der Vorlage das 2.ALR wieder rausschmeisse,
funktioniert das einzelne wieder wunderbar. (Systemintegrität ist perfekt, das System ist ein Upgrade von 4.8.20 auf 4.9,6)

Nach längerem Arbeiten wird auch einfach der Output-PHP-Code gelöscht. Reinkopieren geht nicht, im Backend wird der Output-PHP-Code nicht angezeigt.
Via FTP kann ich ihn wieder reinkopieren, nach der Synchronisation funktioniert's wieder - nur wie lange bis zum nächsten Löschen?

In den Errorlogs gibts recht umfangreiche Fehlermeldungen, die sich auf die Datenbank beziehen. Zu finden unter -> http://www.regina-busch-ensemble.de/errorlogs.txt

Grüße aus Bremen,
Horst
Webdesign | Contenido: Templateprogrammierung, Einrichtung und Verwaltung | http://www.w2media.de

homtata
Beiträge: 1107
Registriert: Mi 14. Jan 2004, 14:41
Kontaktdaten:

Re: [NEU] Article List Reloaded (ALR)

Beitrag von homtata » Mo 26. Jan 2015, 20:18

Hallo Horst1234,

ganz herzlichen Dank für diesen Hinweis. Das Modul stürzte seit Einbau des Tagging tatsächlich in der genannten Kombination ab. Der Fehler sollte durch corr07 behoben sein, ich habe diese soeben hochgeladen.

Horst1234
Beiträge: 333
Registriert: Sa 25. Okt 2008, 12:45
Wohnort: Bremen
Kontaktdaten:

Re: [NEU] Article List Reloaded (ALR)

Beitrag von Horst1234 » Di 27. Jan 2015, 09:57

Hallo Homtata,
super, jetzt klappt wieder das Mehrfacheinbinden, vielen Dank.
Die fehlende Modul-Outputdarstellung im Backend ist nach wie vor verwirrend, hat das was mit deinem Modul zu tun?
Ich sende dir gerne den Zugang, falls du dir das anschauen möchtest ...
Grüße aus Bremen,
Horst
Webdesign | Contenido: Templateprogrammierung, Einrichtung und Verwaltung | http://www.w2media.de

homtata
Beiträge: 1107
Registriert: Mi 14. Jan 2004, 14:41
Kontaktdaten:

Re: [NEU] Article List Reloaded (ALR)

Beitrag von homtata » Di 27. Jan 2015, 11:40

Ich vermute, das hat wieder mal was mit dem UTF8-Gedöns zu tun... kannst mir die Daten gern mal per PN schicken, dann schau ich mal, ob ich kurz Zeit finde.
Passiert das nur im ALR oder auch bein anderen Modulen?

dermicha
Beiträge: 92
Registriert: Mi 9. Dez 2009, 17:57
Kontaktdaten:

Re: [NEU] Article List Reloaded (ALR)

Beitrag von dermicha » Di 27. Jan 2015, 11:49

Hallo Horst,
kann es sein, dass im Modulverzeichnis unter php der Moduloutput einen anderen Dateinamen als den Modulnamen hat?

Horst1234
Beiträge: 333
Registriert: Sa 25. Okt 2008, 12:45
Wohnort: Bremen
Kontaktdaten:

Re: [NEU] Article List Reloaded (ALR)

Beitrag von Horst1234 » Di 27. Jan 2015, 12:37

Hallo Homtata,
das Modulverzeichnis funktioniert insgesamt nicht besonders gut, z.B. nach einer Synchronisation bekommt man keine Rückmeldung.
Probleme sind auch mit anderen Modulen aufgetaucht, konnte ich aber meist immer irgendwie wieder lösen.
Ich schick dir per PN die Zugnagsdaten,
Vielen Dank,
Horst

Hallo Micha,
im Modulverzeichnis unter php stimmen die Namen mit dem Modulnamen überein, gibt's vielleicht Probleme mit Bindestrichen?
Ich hab das Modul "article-list-reloaded" genannt...
Vielen Dank,
Horst
Webdesign | Contenido: Templateprogrammierung, Einrichtung und Verwaltung | http://www.w2media.de

rethus
Beiträge: 1847
Registriert: Di 28. Mär 2006, 11:55
Wohnort: Mönchengladbach
Kontaktdaten:

Re: [NEU] Article List Reloaded (ALR)

Beitrag von rethus » Do 26. Feb 2015, 12:36

Nochmal zum Thema fehlendes + in der Überschrift (weil ich gerade genau das gleiche Problem hab :|
homtata hat geschrieben:

Code: Alles auswählen

//$article[$k."_text"] = text2utf8( $article[$k."_text"] , false , $aSettings['UseUTF8Decoding'] );
Hier liegt der Hund begraben. Weil text2utf8() etwas macht, was es nicht machen soll. In der Funktion ist ein urldecode mit eingebaut... dies hat aber nichts mit der decodierung von UTF-8 zu tun.
Ich finde es sauberer, wenn text2utf8 so umgebaut wird, dass es auch wirklich nur utf8 decodierung vornimmt.
Die Luxusvariante könnte ja nach vorkommen von URL-Codierten Strings "wie %20 etc." suchen und ne Fehlermeldung in die Logs schreiben, wobei ich dass nicht mal für notwendig halte.

Bei mir war ausser deinen Anpassungen noch eine Anpassung in Zeile 344 notwendig.
Zur Orientierung wegen dem Zeilenversatz, es ist die Zeile nach:

Code: Alles auswählen

$article['summary_full']  = text2utf8( $db2->f('summary') , false , $aSettings['UseUTF8Decoding'] );
			$article['summary_trimmed']  = capiStrTrimAfterWord($article['summary_full'], $aSettings['SummaryWidth']).'...';
			$article['summary']  = ($aSettings['SummaryWidth'] > 0 && strlen($article['summary_full'] ) > $aSettings['SummaryWidth'] ) ? $article['summary_trimmed']  : $article['summary_full'] ;

                        // Generate pagetitle
			$article['pagetitle_full'] = text2utf8( $db2->f('pagetitle') , false , $aSettings['UseUTF8Decoding'] );
			$article['pagetitle_trimmed'] = capiStrTrimAfterWord($article['pagetitle_full'], $aSettings['PageTitleWidth']).'...';
                        $article['pagetitle'] = ($aSettings['PageTitleWidth'] > 0 && strlen($article['pagetitle_full'] ) > $aSettings['PageTitleWidth'] ) ? $article['pagetitle_trimmed'] : $article['pagetitle_full'] ;

                        // Generate headline
Habs geändert von :

Code: Alles auswählen

	$article['headline_full'] = text2utf8( $db2->f('headline') , false , $aSettings['UseUTF8Decoding'] );
in

Code: Alles auswählen

	
	$article['headline_full'] = html_entity_decode(strip_tags( $db2->f('headline') ), $aSettings['UseUTF8Decoding'] );
Could I help you... you can help me... buy me a coffee . (vielen ❤ Dank an: Seelauer, Peanut, fauxxami )

xstable.com: - HighSpeed Hosting, Domains, DomainReselling, Linux-Administration
suther.de: - App-Programierung, High-Performance-Webpages, MicroServices, API-Anbindungen & Erstellung

Software... ein Blick wert: GoogleCalender Eventlist, xst_dynamic_contentType

Antworten