[NEU] Article List Reloaded (ALR)
Re: [NEU] Article List Reloaded (ALR)
Also wenn du was zum Nachladen hast empfehle ich dir dringend "Lazy Load" anzusehen. ( Suchmaschine bemühen - JQuery ) - Damit werden alle "Bilder" erst geladen wenn sie im Viewport erscheinen. Schont den Server und wird "scheinbar" von Tante G belohnt weils schneller die Seite lädt. Also den oberen Teil
du liest nie ein Buch und weisst weise der Bildung auszuweichen ....
Re: [NEU] Article List Reloaded (ALR)
Aber mal was ganz anderes. Ich such mir hier schon einen Wolf. Wie bekomme ich ein 4. Text Element dazu ? Ich habe das Image draussen. Es sind standardmässig ja nur 3 verfügbar steht im HTML Template des Moduls. Aber wo stelle ich 4 + ein ? Immer diese Extra Würste
Code: Alles auswählen
<div class="text0">{$article.1_text}</div>
<div class="text1">{$article.2_text}</div>
<div class="text2">{$article.3.text}</div>
<div class="text3">{$article.4.text}</div> <---- ???
du liest nie ein Buch und weisst weise der Bildung auszuweichen ....
Re: [NEU] Article List Reloaded (ALR)
Heyho peanut,
ich meine mich nicht zu erinnern, die Anzahl der Elemente begrenzt zu haben. Elemente, die in der Artikelkonfiguration hinzugefügt wurden, stehen im Array auch zur Verfügung und können dann im Smarty über die Nummer auch angesprochen werden. Sollte eigentlich klappen.
Es ist lediglich ein Bug in der Version (vermutlich ab 4.9., dass aufgrund irgendeiner Änderung das letzte Element wohl nicht immer ausgegeben wird, dann solltest du noch ein überflüssiges Element hinzufügen, das nicht ausgegeben werden muss, bis ich mal Zeit habe, den Bug zu fixen.
LG
Viktor
ich meine mich nicht zu erinnern, die Anzahl der Elemente begrenzt zu haben. Elemente, die in der Artikelkonfiguration hinzugefügt wurden, stehen im Array auch zur Verfügung und können dann im Smarty über die Nummer auch angesprochen werden. Sollte eigentlich klappen.
Es ist lediglich ein Bug in der Version (vermutlich ab 4.9., dass aufgrund irgendeiner Änderung das letzte Element wohl nicht immer ausgegeben wird, dann solltest du noch ein überflüssiges Element hinzufügen, das nicht ausgegeben werden muss, bis ich mal Zeit habe, den Bug zu fixen.
LG
Viktor
Re: [NEU] Article List Reloaded (ALR)
Also an alle die das gleiche Problem haben sollten .... Ich habs nun rausgetüftelt.
1. Das Image ist fest verdrahtet selbst wenn man es im Template löscht. Das heisst das Text Element "2" immer vergeben ist. ( soweit ich das getestet und verstanden habe )
2. Wenn man also 4 Text Elemente einbauen will muss man im Ganzen 6 vergeben
Text 1 - Normal
Text 2 - Irgendwas ... Wird nicht ausgegeben weil es das Image reserviert hat
Text 3 - Normal
Text 4 - Normal
Text 5 - Normal <---- Bis hier kommen immer noch 3 Elemente .... Ohne kommenden Bugfix
Text 6 - Irgendwas ... Wird nicht ausgegeben wird aber benötigt um die Schleife einen vorher erst zu beenden <---- 4 Elemente werden ab nun angezeigt .... Harte Nuss das rauszufinden
1. Das Image ist fest verdrahtet selbst wenn man es im Template löscht. Das heisst das Text Element "2" immer vergeben ist. ( soweit ich das getestet und verstanden habe )
2. Wenn man also 4 Text Elemente einbauen will muss man im Ganzen 6 vergeben
Text 1 - Normal
Text 2 - Irgendwas ... Wird nicht ausgegeben weil es das Image reserviert hat
Text 3 - Normal
Text 4 - Normal
Text 5 - Normal <---- Bis hier kommen immer noch 3 Elemente .... Ohne kommenden Bugfix
Text 6 - Irgendwas ... Wird nicht ausgegeben wird aber benötigt um die Schleife einen vorher erst zu beenden <---- 4 Elemente werden ab nun angezeigt .... Harte Nuss das rauszufinden
du liest nie ein Buch und weisst weise der Bildung auszuweichen ....
Re: [NEU] Article List Reloaded (ALR)
Okay, danke für die Info. Muss ich mir wie gesagt nochmal anschauen, weil das natürlich so nicht gedacht ist, aber es erklärt einige Probleme in gewissen Setups. Immerhin haben wir so den Workaround nochmal definiert, bis ich der Sache auf den Grund komme. Da grad sehr viel zu tun ist hier, kann das aber dauern, ich bitte um Geduld.
Re: [NEU] Article List Reloaded (ALR)
Kein Problem. In der Zeit kannst mir vielleicht ein letztes Mal kurz auf die Sprünge helfen. Und zwar ist eine Artikel Liste nur wirklich schön mit einem sogenannten ODD und EVEN Effekt. Ich hab noch nicht so viel Erfahrung mit Smarty und hab mal etwas versucht. Doch er will nicht. Ich denke aber mal das braucht eigentlich jeder heutzutage der eine schöne Artikel Liste will.
Das sollte eigentlich eine elegante kurze hell hell hell dunkel dunkel dunkel Hintergrundfarbe liefern in der Artikel Liste. hmmmm
Code: Alles auswählen
{foreach $name as $newsArticle}
{if $name@iteration is even by 3}
<div style="background-color: #fff">{$name}</div>
{else}
<div style="background-color: #eee">{$name}</div>
{/if}
{/foreach}
du liest nie ein Buch und weisst weise der Bildung auszuweichen ....
Re: [NEU] Article List Reloaded (ALR)
Hm. Ich google mir das auch immer wieder aufs neue zusammen über die Smarty-Homepage, da ist einiges gut dokumentiert.
Der springende Punkt ist die Schleifeninitalisierung an sich, der funktioniert nicht wie in php, sondern im Stil, der auch in der ALR gezeigt ist, dann erweitert um "key", der in diesem Fall ggf. genutzt werden kann zur Berechnung, da er in unserem Fall numerisch ist und kein String:
Es kann sein, dass du die if-Bedingung noch anpassen musst und $number künstlich erhöhst/dezimierst , da $number bei 0 beginnt, nicht bei 1.
Alternativ kannst du mit dem Smarty "counter" arbeiten, der ist auch recht gut dokumentiert.
Der springende Punkt ist die Schleifeninitalisierung an sich, der funktioniert nicht wie in php, sondern im Stil, der auch in der ALR gezeigt ist, dann erweitert um "key", der in diesem Fall ggf. genutzt werden kann zur Berechnung, da er in unserem Fall numerisch ist und kein String:
Code: Alles auswählen
{foreach from=$articleList item=article key=number}
{if $number is even by 3}
{else}
{/if}
{/foreach}
Alternativ kannst du mit dem Smarty "counter" arbeiten, der ist auch recht gut dokumentiert.
Re: [NEU] Article List Reloaded (ALR)
ODD und EVEN wird doch heutztage so gemacht:
Oder so:
Natürlich kann man p auch gegen anders austauschen, wie div oder li.
Code: Alles auswählen
p:nth-child(2n) {
background: #ff0000;
}
Code: Alles auswählen
p:nth-child(odd) {
background: #ff0000;
}
p:nth-child(even) {
background: #0000ff;
}
Fliegt der Bauer übers Dach, ist der Wind weißgott nicht schwach.
Re: [NEU] Article List Reloaded (ALR)
Der Fehler ist noch nicht behoben worden, ohne $k <= werden nicht alle Elemente ausgezählt.dermicha hat geschrieben:Das letzte Element kommt nicht mehr an, weil die Schleife nicht mehr alle Elemente durchläuft. Wenn das letzte Element ein Bild ist...
In Zeile 402 muss es meiner Meinung nach lauten:
In der aktuellen Datei ist es 'k < ...'Code: Alles auswählen
for ($k = 1; $k <= $aSettings['Elements']; $k++) {
Testen kann man es auch einfach, indem man die Anzahl zusätzlicher Elemente um eins höher setzt.
Grüße
Michael
Ich habe 3 zusätzliche Elemente und egal ob ich als letztes Element ein Bild oder einen Text nahm, es fehlte immer.
Mit @dermicha seiner Lösung funktioniert es.
Und was meiner Meinung nach schlecht gelöst ist, das ist die Zahlen-Nummerierung der Elemente.
Man sollte nicht Bild-Elemente mit Text-Elementen gleichsetzen und einfach durchzählen.
Das erste Bild das ausgewählt wird, sollte 1_img heißen und nicht wie in meinem Fall jetzt 3_img.
Denn im Template muss es eine Logik geben, die nicht durch eine andere Einstellung gleich wieder obsolet wird.
1. Text = 1_text
1. Bild = 1_img
Damit könnte man auch leichter gültige Templates aufbauen, weil logischerweise immer die ersten Elemente in der Reihenfolge ausgewählt sind.
Will jetzt dann mal einer einen Text nicht anzeigen lassen, erscheint im Template jetzt auch kein Bild mehr, weil das Bild dann Element 2 ist und 2_img heißt.
Das Template kann sich nicht automatisch anpassen und hat noch 3_img drin stehen.
Daran hakt es.
Fliegt der Bauer übers Dach, ist der Wind weißgott nicht schwach.
Re: [NEU] Article List Reloaded (ALR)
Hallo Faar,
die angesprochene Zeile hatte ich aufgrund von Userrückmeldungen extra umgebaut, da die Schleife wohl MIT Gleichheitsoperator einmal zuviel durchlaufen wurde... aber ich baue es jetzt erstmal wieder zurück und werde den geänderten Code vorne posten.
Die Numerierung der Container werde ich auf absehbare Zeit nicht ändern, das habe ich für mich absichtlich geändert im Vergleich zur früheren ALA. Ich stelle an den Artikellisten auch nicht ständig was um oder muss unbedingt zwischendrin Container hinzufügen oder sonstwas, daher ist es für mich am logischsten, die Elemente in der Reihenfolge ihres Aufrufs zu numerieren. Ich sehe da keinen grundsätzlichen einfacheren Umgang bei einer anderen Numerierung und halte mich da einfach an meine persönliche Vorliebe.
die angesprochene Zeile hatte ich aufgrund von Userrückmeldungen extra umgebaut, da die Schleife wohl MIT Gleichheitsoperator einmal zuviel durchlaufen wurde... aber ich baue es jetzt erstmal wieder zurück und werde den geänderten Code vorne posten.
Die Numerierung der Container werde ich auf absehbare Zeit nicht ändern, das habe ich für mich absichtlich geändert im Vergleich zur früheren ALA. Ich stelle an den Artikellisten auch nicht ständig was um oder muss unbedingt zwischendrin Container hinzufügen oder sonstwas, daher ist es für mich am logischsten, die Elemente in der Reihenfolge ihres Aufrufs zu numerieren. Ich sehe da keinen grundsätzlichen einfacheren Umgang bei einer anderen Numerierung und halte mich da einfach an meine persönliche Vorliebe.
Re: [NEU] Article List Reloaded (ALR)
Hallo zusammen
Wie es scheint kommt in der 4.9.9 Version dieser error. Zumindest glaube ich das es an diesem Modul liegt. Nach leeren des error logs und nochmaligem Aufruf der Seite mit dem Modul kommt dann exakt so oft dieser Fehler wie auch Artikel aufgelistet werden. 20 Artikel = 20 gleiche Fehlermeldungen. Ich habe noch kein Mod Rewrite aktiviert.
Deprecated call: cApiStrTrimAfterWord() [functions.api.string.php(49)]: "This method is deprecated and is not needed any longer"
cApiStrTrimAfterWord() called in file include.front_content.php(750) : eval()'d code(367)
eval() called in file include.front_content.php(750)
include() called in file front_content.php(62)
Ich hab mal danach gesucht und irgendwas in der contenido/includes muss da wohl angepasst werden. Kann aber falsch liegen.
Any ideas ?
Danke im voraus
Gruss
Peanut
Wie es scheint kommt in der 4.9.9 Version dieser error. Zumindest glaube ich das es an diesem Modul liegt. Nach leeren des error logs und nochmaligem Aufruf der Seite mit dem Modul kommt dann exakt so oft dieser Fehler wie auch Artikel aufgelistet werden. 20 Artikel = 20 gleiche Fehlermeldungen. Ich habe noch kein Mod Rewrite aktiviert.
Deprecated call: cApiStrTrimAfterWord() [functions.api.string.php(49)]: "This method is deprecated and is not needed any longer"
cApiStrTrimAfterWord() called in file include.front_content.php(750) : eval()'d code(367)
eval() called in file include.front_content.php(750)
include() called in file front_content.php(62)
Ich hab mal danach gesucht und irgendwas in der contenido/includes muss da wohl angepasst werden. Kann aber falsch liegen.
Any ideas ?
Danke im voraus
Gruss
Peanut
du liest nie ein Buch und weisst weise der Bildung auszuweichen ....
-
- Beiträge: 4250
- Registriert: Do 30. Jun 2005, 22:56
- Wohnort: Eltmann, Unterfranken, Bayern
- Kontaktdaten:
Re: [NEU] Article List Reloaded (ALR)
Moin peanut,
Du kannst dann die gefundenen Stellen in den entsprechenden Modulen, die im Quelltext mit
Gruß aus Franken
Ortwin
Such mal in deinen Modulen nach cApiStrTrimAfterWord. Daspeanut hat geschrieben:Code: Alles auswählen
Deprecated call: cApiStrTrimAfterWord() [functions.api.string.php(49)]: "This method is deprecated and is not needed any longer" cApiStrTrimAfterWord() called in file include.front_content.php(750) : eval()'d code(367) eval() called in file include.front_content.php(750) include() called in file front_content.php(62)
kann Dir dabei helfen (Hier: Zeilennummer = 367). Den entsprechenden Code findest Du einfach in cms/cache/code. Diesen Ordner einfach mal leeren, die entsprechende Seite im Frontend aufrufen und dann die neue Code-Datei im Cache-Ordner mit einem Editor öffnen.eval()'d code(367)
Du kannst dann die gefundenen Stellen in den entsprechenden Modulen, die im Quelltext mit
markiert sind, beispielsweise einfach durch die entsprechenden PHP-Funktionen, oder eigene Funktionalitäten, ersetzen.$cCurrentModule = 33;
$cCurrentContainer = 205;
Gruß aus Franken
Ortwin
ConLite 2.1, alternatives und stabiles Update von Contenido 4.8.x unter PHP 7.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
Re: [NEU] Article List Reloaded (ALR)
Hallo peanut,
die Meldung besagt, dass eine vom Modul verwendete Funktion in einer zukünftigen Version von Contenido nicht mehr unterstützt werden bzw. einen anderen Namen haben wird. Um die Meldung zu vermeiden einfach an vier Stellen im Modul-Output
durch
ersetzen. Weitere Änderungen dieser Art (Deprecations) finden sich unter
https://docs.contenido.org/display/CONDEVE/Deprecations
@homtata: Kannst Du das bitte auch in der Download-Datei korrigieren?
Viele Grüße
Michael
die Meldung besagt, dass eine vom Modul verwendete Funktion in einer zukünftigen Version von Contenido nicht mehr unterstützt werden bzw. einen anderen Namen haben wird. Um die Meldung zu vermeiden einfach an vier Stellen im Modul-Output
Code: Alles auswählen
capiStrTrimAfterWord
Code: Alles auswählen
cString::trimAfterWord
https://docs.contenido.org/display/CONDEVE/Deprecations
@homtata: Kannst Du das bitte auch in der Download-Datei korrigieren?
Viele Grüße
Michael
Re: [NEU] Article List Reloaded (ALR)
Ich habe ein knapp 3 MB großes Logfile mit dieser Deprecated Call Meldung.
Danke, dann weiß ich schon wo ich suchen muss.
Nochmal Kaffee,
Faar
Danke, dann weiß ich schon wo ich suchen muss.
Nochmal Kaffee,
Faar
Fliegt der Bauer übers Dach, ist der Wind weißgott nicht schwach.
Re: [NEU] Article List Reloaded (ALR)
Danke für den Hinweis, ist im Quellcode geändert, neue Version ist online.