Perfekt. So mach ich's. Vielen Dank für die Tipps.
Beiträge von Privatier
-
-
Hallo Sieger66,
danke für den Hinweis zur Stelle in der Datei. Im Override "com_content > category > default_articles.php" habe ich nun innerhalb der von dir genannten Schleife eine zusätzliche Abfrage auf die weiter oben ermittelte UserID eingebaut. Wenn der Eintrag nicht vom eingeloggten User erstellt wurde, geht es gleich zum nächsten Schleifendurchlauf.
<?php foreach ($this->items as $i => $article) : ?>
<?php
if ($article->created_by !== $userId ) {
continue;
}
?>So funktioniert es. Muss mir nur noch ein Kriterium einfallen lassen, um das Coding nur im aktuellen Menüpunkt zu durchlaufen (Zusatzabfrage auf die Kategorie oder ein eigenes Layout oder so).
Eine Frage noch zur Performance. Ist bei meinen wenigen Einträgen sicher irrelevant, aber interessehalber.
Ich interpretiere es so, dass zu diesem Zeitpunkt bereits alle Einträge aus der Datenbank gelesen wurden und nun mit foreach drüber geloopt wird, um die relevanten zu auszugeben. Gäbe es bspw. 100.000 Einträge würde jeder der 100.000 Einträge gelesen, um dann zum Beispiel 2 davon anzuzeigen.
Wäre es aus Gründen der Performance nicht besser, nur die 2 relevante Einträge aus der Datenbank zu lesen, zumal dort ja ein Index auf dem Feld "created_by" liegt? Und wenn ja, wie kann man diese Selektion bewerkstelligen?
Oder bin ich mit dem Gedanken auf dem Holzweg?
PS Im Anhang noch die override Datei
-
Hallo Sieger66,
vielen Dank für die Links zum User-Konzept. Die werde ich noch brauchen.
Eine eigene Kategorie pro User hatte ich auch schon überlegt, wobei man dann pro Kategorie einen eigenen Menüpunkt braucht und jedem Beitrag die richtige Kategorie zuweisen müsste.
Ich habe die Seite mal auf einen freie Domain gelegt, die ich noch so hatte und dort etwas rumprobiert, hier der Link . Da liegt ein Verzeichnisschutz drauf ("TestenX" / "TestenX") und der User um Beiträge anzuzeigen ist "TestX" mit pw "test1test2test3"
Mit dem Menüpunkt "ToDo anlegen" können Beiträge mit Customfields angelegt werden (die momentan warum auch immer nicht eingabebereit sind). Über ein Override wurden davon schon einzelne in die Ansicht der Kategorieliste hinzugefügt, die man mit "Todo anzeigen" auflisten kann (dass auch versteckte Beiträge angezeigt werden irritiert mich gerade, aber erstmal egal)
Technisch gesehen wurde zum Cassiopeia-Template ein Child-Template angelegt und dort die Customfields im Override als Spalten hinzugefügt ( com_content > category > default_articles.php )
Man sieht nun alle Beiträge der Kategorie "todoliste", egal von welchem Autor sie angelegt wurden.
Man könnte im oben genannten override die Beiträge aller anderen User ausfiltern (so vorgeschlagen in https://forum.joomla.org/viewtopic.php?t=997166). Besser fände ich es allerdings, nur die entsprechenden Beiträge zu lesen.
Nur, wo werden die Artikel gelesen? Eventuell in ( com_content > category > default.php )? Da steht in Zeile 20
Allerdings stecke ich nicht tief genug in Joomla drin, um dort was anzupassen.
-
Hallo zusammen,
gerade versuche ich mich an den Customfields von Joomla und merke, dass sie in verschiedenen Bereichen nicht so flexibel sind wie erhofft. Mit Joomla 5.2 möchte ich eine kleine ToDo-Liste erstellen. Jedes ToDo soll als Beitrag abgebildet und über Customfields entsprechend detailliert werden (Priorität, Deadline etc.). Die Beiträge sollen dann über ein Kategorieliste angezeigt werden und dank entsprechender Overridebeispiele hier im Forum werden die Werte der Customfields auch schon in die Übersichtsliste aufgenommen.
In der Kategorieliste sollen allerdings nur die Beiträge angezeigt werden, die der eingeloggte Benutzer selbst verfasst hat (will nicht noch die ToDos meiner Frau sehen , habe selbst genug ). Da die normale Kategorieliste alle Beiträge der hinterlegten Kategorie anzeigt, wird also ein zusätzliches Selektionselement benötigt. Wichtig dabei: es soll kein Filter auf die Liste sein, sondern es sollen wirklich nur die Beiträge eines einzelnen Benutzers selektiert werden.
Vermutung ist, dass sich dies über ein Override lösen lässt, in welchem man über $this->getCurrentUser() den aktuellen User ermittelt und als zusätzliches Kriterium dem Select mitgibt. So ähnlich wie bei Schlagwörtern, nach denen die Kategorieliste nochmals feiner gesteuert werden kann.
Nur wo und wie müsste man das einbauen bzw. was müsste man overriden? Und, funktioniert das überhaupt so?
VG
-
Vielen Dank fürs Testen,
christine2: genau das Verhalten meinte ich. Die Seite inklusive Bild wird sofort geladen. Nur im Hintergrund wird noch eine Minute lang anscheinend eine Verbindung aufgebaut.
Das Verhalten habe ich schon von anderen Internetzugängen aus und auch aus dem Mobilfunknetz beobachtet, lässt sich für mich also stabil reproduzieren. Interessant, dass es bei Gerald und CurlY BracketS nicht auftritt.
Die Usability stört es aber nicht. Und den Suchmaschinen-Crawler vermutlich auch nicht, da die Seite ja normal schnell aufgebaut wird (hoffe ich zumindest).
Naja, vielen Dank nochmal für's Prüfen.
-
Hallo zusammen,
Auch wenn es auf den ersten Blick nicht ein Joomla-Thema zu sein scheint, möchte ich trotzdem fragen, ob jemand ähnliche Erfahrung hat.
Auf folgender Seite wird auf einen Artikel bei Amazon verlinkt. Der Link wurde aus dem Amazon-Site-Stripe-Tool kopiert und unverändert übernommen. Die Seite wird sofort und korrekt inklusive Bild angezeigt, von daher also kein Problem:
Petronella Apfelmus Band 1 - Verhext und festgeklebt
Laut Status des Browsers lädt die Seite allerdings noch fast eine Minute weiter, um sich mit dem Amazon-Adsystem zu verbinden:
- Meldung 1: Warten auf ws-eu.amazon-adsystem.com...
- Meldung 2: Verbinden mit ir-de.amazon-adsystem.com
Wie gesagt, müsste es eigentlich an der aufgerufenen Seite liegen (also dem Link). Komisch ist nur, dass es sich um einen allgemeinen Link handelt. Wenn es nur an Amazon liegt, müsste es ja ein grundsätzliche Problem sein, was auch komisch wäre.
Ich habe es auch schon mit Verlinkungen zu anderen Produkten versucht und auch schon das Cookie-Consent-Tool ausgetauscht (dachte, das blockiert vielleicht etwas).
Von daher nun die Überlegung, ob es doch etwas mit Joomla zu tun haben kann? Vielleich hat ja jemand eine Idee oder ähnliche Erfahrungen?
Besten Dank und Grüße
-
Danke für die Analyse. Anscheinend hatte ich in ferner Vergangenheit ein Plugin installiert (nfrPiwik), um den Matomo-Tracking-Code zu integrieren und dann den Tracking-Code noch zusätzlich in die index.php geschrieben. Nach Deaktivierung des Plugins, wird das JS nur noch einmal geladen. Das UserCentrics Script ist nun am Anfang vom Head. Das Verhalten ist aber gleich.
Jetzt wolle ich prüfen, ob es am Banner selbst liegt und habe es durch einen "normalen" Textlink ersetzt (eingefügt über Sourcerer). Das ganze eingerahmt von zwei Textausgaben, um Anfang und Ende zu erkennen.
Code
Alles anzeigentext1 {source} <script type="text/plain" data-usercentrics="AWIN"> var test = "https://www.mozilla.org/en-US/"; document.write("<a href='"+test+"'>Mozilla Webseite</a>"); </script> {/source} text2
Aber auch hier dasselbe Ergebnis. Bei Aktivierung durch UserCentrics erscheint nur noch das Modul auf der linken Seite. Diese Mal mit dem Link "Mozilla Webseite"
Es scheint also tatsächlich am Befehl "document.write" zu liegen. Kann der Aufruf falsch sein oder muss beim Aufruf innerhalb eines Moduls vorher noch was initialisiert etc. werden?
VG, Ralf
-
Hallo,
Sehr komisch. Ob eingeloggt oder nicht, macht tatsächlich keinen Unterschied. Adblocker oder andere Software wüsste ich nicht. Habe jetzt noch auf einem weiteren Rechner, auf dem die Seite garantiert noch nie aufgerufen worden versucht. Dann noch auf einem IPad und einem Smartphone über mobile Daten.
Aber egal wie ich die Seite https://www.stuttgart-infos.eu/de/testbanner.html mit akzeptiertem AWIN-Cookie aufrufe, sie sieht so aus. Ich glaube ja, dass ihr die Seite anders seht, aber irgendwie doch schwer vorstellbar.
VG, Ralf
-
Hallo Re:Later
interessant, danke fürs Anschauen. Habe nun Browser Cache und Joomla Cache gelöscht und auf drei Rechnern und einem Handy mit Firefox, Edge und Chrom versucht. Und es sieht immer so aus:
Keine Einwilligung erteilt ...
Spoiler anzeigen
... sieht so aus. Der graue Kasten rechts ist das Modul.
Einwilligung erteilt ...
Spoiler anzeigen
... nur das Banner wird auf der linken Seite angezeigt, obwohl das Modul in dem es hängt eigentlich rechts sein sollte.
-
Hallo zusammen,
für Tipps zu Joomla kommt man an dem Forum hier nicht vorbei und ich konnte immer wieder gute Tipps finden. An dieser Stelle zu allerst ein dickes Dankeschön.Nun habe ich allerdings ein sehr spezielles Thema bei dem ich ratlos bin, vielleicht hat jemand eine Idee. Und zwar soll ein Banner über ein Modul in Joomla eingebunden werden. Die Ausspielung des Banners wird durch das Cookie Consenttool von Prive/Usercentrics gesteuert.
Zum Einbau von Usercentrics ändert man normalerweise das Javascrip, welches die Cookies setzt in "text/ plain“. Das hier verwendete Banner ist jedoch kein Script sondern lediglich einen Link zum Anzeigen eines Bildes und setzen eines Cookies. Da es kein Script gibt, ist der Ansatz, ein Skript um den Link drumrum zu bauen und den Link mittels document.write anzuzeigen.
Es wird das Protostar-Template in Joomla 3.10.9 verwendet und das Modul mit dem Banner soll auf Position-7, also am rechten Rand erscheinen.
Grundsätzlich funktioniert das Konstrukt, der Text im Modul sieht so aus (nach Ausschalten des Tiny-Editors)
Code<script type="text/plain" data-usercentrics="AWIN"> var rel="sponsored"; var link="https://www.awin1.com/cread.php?s=2413243&v=14051&q=365935&r=631241"; var bild="https://www.awin1.com/cshow.php?s=2413243&v=14051&q=365935&r=631241"; var bord="0"; document.write("<a rel='"+rel+"' href='"+link+"'><img src='"+bild+"' border='"+bord+"'></a>"); </script>
Allerdings scheint die Modulanzeige durcheinander zu kommen. Sprich, sobald Consent für das Cookie erteilt wird, wird das Banner zwar angezeigt. Aber nur das Banner und der Rest der Seite nicht mehr. Im Quelltext der Seite sind jedoch noch alle Texte usw. vorhanden
Falls es sich jemand anschauen möchte, habe mal einen Testlink aufgebaut
Mietwagen Flughafen Stuttgart - Stuttgart Infos
Dort links unten auf „testbanner“ klicken und consent für AWIN erteilen bzw. verweigern.
Vielen Dank