Hi Leute,
wie lässt sich in Contao 4 der Linktext "weiterlesen" in der Teaser-Ansicht ändern?
Unbenannt-1.jpg
Hi Leute,
wie lässt sich in Contao 4 der Linktext "weiterlesen" in der Teaser-Ansicht ändern?
Unbenannt-1.jpg
So wie bisher über die system/config/langconfig.php - was aber deprecated ist. Der "richtige" Weg ist über app/Resources/contao/languages/…/….php
Hmm, bei mir enthält der Ordner app/Resources/contao/ nur die beiden OrdnerDer "richtige" Weg ist über app/Resources/contao/languages/…/….php
- config
- dca
Da muß ich sicherlich den Ordner "languages" noch anlegen, oder?
Muß der dann irgendwo noch verbunden / eingebunden werden?
Was muß in den Ordner dann hinein?
Sicherlich eine PHP-Datei, oder?
Was muß in der PHP-Datei wie stehen?
Das hier?Wäre das die richtige Schreibweise?PHP-Code:
<?php
$GLOBALS['TL_LANG']['MSC']['more'] = 'mehr zu lesen gibt es hier »';
Ja, und auch den Unterordner der entsprechenden Sprache und die entsprechende Sprachdatei genau so.
Nein, du musst nur den (internen) Cache löschen.
PHP oder XLF, ja.
Jap, so stimmt das. Das würde dann in der default.php stehen.
Was ist mit Sprachdatei gemeint?Zitat Zitat von Schnippel Beitrag anzeigen
Da muß ich sicherlich den Ordner "languages" noch anlegen, oder?
Ja, und auch den Unterordner der entsprechenden Sprache und die entsprechende Sprachdatei genau so.
Ich würde das jetzt so hier anlegen (siehe ROT):
app/Resources/contao/languages/de/irgendein_dateiname.php
Oder muß die php-Datei einen ganz bestimmten Namen besitzen?
Update: So muß die php-Datei lauten
app/Resources/contao/languages/de/default.php
Geändert von Schnippel (14.11.2017 um 16:02 Uhr)
Ja, den selben Dateinamen (exkl. Endung), den die Sprachdatei (wo die Übersetzung drin ist, die du ändern möchtest) im Core hat. In diesem Fall bspw. default.php.
Funktioniert nicht :-(
Ich habe folgendes gemacht:
#1
Ordnerstruktur angelegt (ROT=der neu angelegte Ordner):
app/Resources/contao/languages/de/
In den DE-Ordner eine Datei mit dem Namen default.php angelegt.
In der default.php steht folgender Inhalt:
PHP-Code:
<?php
$GLOBALS['TL_LANG']['MSC']['more'] = 'mehr zu lesen gibt es hier »';
#2
Im Contao-BA > Benutzer unter CACHE leeren die Daten bereinigt.
Das Ganze hat nicht funktioniert.
Habe dann im Ordner var/cache/ den darin enthaltenen Ordner "prod" gelöscht.
Das funktioniert ebenfalls nicht.
In deinem PHP code befindet sich ein Leerzeichen vor <?php . Ist das tatsächlich der Fall?
Danke
das hat funktioniert.Du musst den Symfony bzw. internen Contao Cache löschen (var/cache/prod/contao, oder var/cache/prod, oder var/cache)
Im XAMPP habe ich den Ordner "prod" gelöscht und mußte dann das Install-Tool noch durchlaufen lassen, bis die Änderungen zu sehen waren.
Hi,
ich möchte nun auf der Beitrags-Seite den Button "zurück" anders bennen.
Unbenannt-1.jpg
Dazu habe ich in die php-Datei eine weitere Zeile hinzugefügt.
Die Änderung wird aber nicht angezeigt. Das oben beschriebene Caching habe ich durchgeführt.PHP-Code:
<?php
$GLOBALS['TL_LANG']['MSC']['more'] = 'weiterlesen... »';
$GLOBALS['TL_LANG']['MSC']['back'] = '« zurück zur Übersicht';
Woran liegt das? Muß da statt ['MSC']['back'] was anderes stehen?
Du musst in den core Sprachdateien überprüfen wie diese Sprachvariable heißt. Iirc ist das goBack.
Wo findet man diese? In welchen Ordner / Ordnern liegen die?Du musst in den core Sprachdateien überprüfen...
vendor/contao/core-bundle/src/Resources/contao/languages
Am besten durchsuchst du diesen Ordner nach der gesuchten Übersetzung mit einem Tool/Texteditor deiner Wahl.
Geändert von Spooky (17.11.2017 um 10:20 Uhr)
Hallo liebes Forum,
gibt es denn auch die Möglichkeit, den Linktext je nach Ziel anzupassen, also so, dass wenn ich eine externe Webseite als Ziel angebe der Text lautet: "zum Beitrag (extern)" oder beim normalen Weiterleitungsziel "Weiterlesen".
Ich hoffe, Ihr versteht, was ich meine :-)
Danke für Eure Hilfe & viele Grüße
Hella
Mitglied des Contao User Treffen München
Aktuelle Termine erfährst Du immer unter www.contao-bayern.de
Komm' doch mal vorbei!
Einfach im Template dementsprechend setzen
Äh, ja, aber da steht ja nur??Code:<p class="more"><?= $this->more ?></p>
Mitglied des Contao User Treffen München
Aktuelle Termine erfährst Du immer unter www.contao-bayern.de
Komm' doch mal vorbei!
Ja, du kannst ja statt dessenverwenden.PHP-Code:
<p class="more"><a href="<?= $this->link ?>" title="<?= $this->linkTitle ?>">Hello World!</a></p>
Falls jemand auf das gleiche Problem stößt: So sieht meine Lösung aus:
Neben 'external' stehen als source 'default', 'article' und 'page' zur Verfügung, falls man es weiter differenzieren möchte.Code:<?php if ($this->source=='external'): ?> <a href="<?= $this->link ?>" target="_blank" title="Extern: <?= $this->newsHeadline ?>" class="<?= $this->source ?>" itemprop="url">Externer Link</a> <?php else: ?> <a href="<?= $this->link ?>" title="Den Beitrag lesen: <?= $this->newsHeadline ?>" class="<?= $this->source ?>" itemprop="url">Weiterlesen...</a> <?php endif; ?>
Viele Grüße
Hella
Mitglied des Contao User Treffen München
Aktuelle Termine erfährst Du immer unter www.contao-bayern.de
Komm' doch mal vorbei!
Also ich beomme da einen Fatal error:
[2019-03-17 16:48:25] app.CRITICAL: An exception occurred. {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\FatalThrowa bleError(code: 0): Parse error: syntax error, unexpected '$GLOBALS' (T_VARIABLE) at /.../var/cache/prod/contao/languages/de/default.php:788)"} []
Ich habe so wie oben beschrieben eine default.php unter var/cache/prod/contao/languages/de angelegt.
Ich habe auch die Methode mit der langconfig.php probiert, das war noch viel schlimmer.
Da hat es in der HTML Struktur irgendwelche unsichtbaren Zeichen erzeugt, die mir die Seite "zerschossen" haben, erzeugt. Hat Stunden gedauert, bevor ich rausgefunden habe, daß es an der langconfig.php lag.
Also so richtig warm werde ich mit Contao 4 immer noch nicht... Aber wie kriegt man damit eine mehrsprachige Seite hin, wenn man beim "Weiterlesen"-Button schon scheitert???
Ich glaube nicht, daß das oben so beschrieben wurde. Im cache/-Verzeichnis legt Contao selbst Dateien ab und es ging darum, diese ("den Cache") zu löschen, damit die Änderungen aktiv werden. Deine Änderungen müssen in die app/Resources/contao/languages/de/default.php
(siehe #7)
Wenn ich eine Datei ändere, dann schaue ich mir das Frontend an um zu sehen, ob meine Änderungen den gewünschten Erfolg erbracht haben. Wenn danach das Frontend "zerschossen" ist, mache ich die Änderungen wieder rückgängig. Sorry, aber ich sehe noch nicht ganz, wo man hier Stunden verbringt, um etwas herauszufinden.Ich habe auch die Methode mit der langconfig.php probiert, das war noch viel schlimmer.
Da hat es in der HTML Struktur irgendwelche unsichtbaren Zeichen erzeugt, die mir die Seite "zerschossen" haben, erzeugt. Hat Stunden gedauert, bevor ich rausgefunden habe, daß es an der langconfig.php lag.
Du bist daran gescheitert, weil Du die Änderungen nicht in den richtigen Dateien gemacht hast (s.o.).Also so richtig warm werde ich mit Contao 4 immer noch nicht... Aber wie kriegt man damit eine mehrsprachige Seite hin, wenn man beim "Weiterlesen"-Button schon scheitert???
Contao-Community-Treff Bayern: http://www.contao-bayern.de
Bitte poste einen Link zu so einer Anleitung. Denn das ist wie gesagt nicht richtig.
Vermutlich hast du die Datei als UTF-8 mit BOM abgespeichert. Du musst die Dateien ohne BOM abspeichern.
Das Problem mit dem BOM hättest du in allen PHP Applikationen, wo du derartige Änderungen machst.
Wie ist denn der Pfad in Contao 4.9? app/Resourcea/contao/languages oder config/languages?
Hallo Zusammen,
wie sieht das denn in Contao 4.10.7 aus? Finde den Ordner bzw. die Datei dort leider nicht im Dateisystem.. oder bin ich blind?? Dementsprechend hilft mir die Anleitung da leider gerade nicht weiter.. und bitte um Hilfe! :-)
Hm, gibt es einen bestimmten Grund dafür, dass das Umbennen so kompliziert ist, das ist ja seit 10 Jahren immer wieder Thema und wird im Forum oder an anderer Stelle nachgefragt
Berechtigte Frage, daher: wäre das was für die Doku?
Stichwort: Custom Pfade / Dateien / Verzeichnisse mit Beispielen (auch ausreichend zur Sicherung):
ToMCode:Contao Instanz | +--- assets | | | \--- ... | +--- config | | | +--- config.yaml | +--- parameters.yaml | +--- contao | | | \--- config | | | | | +--- config.php | | | \--- dca | | | | | +--- tl_content.php | | +--- tl_page.php | | +--- ... | | +--- ... | | +--- ... | | | \--- languages | | | \--- de | | | +--- default.php | +--- exception.php | +--- tl_content.php | +--- ... | +--- ... | +--- ... | +--- contao-manager | | | \--- ... | | | +--- auth.json | +--- config.json | +--- manager.json | +--- users.json | +--- files | | | \--- ... | +--- system | | | \--- ... | +--- templates | | | \--- bundles | | | | | \--- ContaoCoreBundle | | | | | \--- Error | | | | | +--- layout.html.twig | | | +--- be_login.html5 | +--- be_main.html5 | +--- ... | +--- ... | +--- ... | +--- var | | | \--- ... | +--- vendor | | | \--- ... | +--- web | | | \--- ... | | | +--- .htaccess | +--- ... | +--- composer.json +--- composer.lock
Schon, ich meinte als zusätzliche optische Hilfe
Wird sicher kein Fehler sein.
Darfsch es gerne dort einpflegen, wenn Du es für sinnvoll erachtest, dazu isches da.
ToM
Dass man dafür extra Dateien anlegen muss, dann herausfinden muss mit welchem Code man einfach nur den Link, oder auch andere, umbennent, statt es vielleicht einfach in dem Modul einstellen kann.
Das flutscht irgendwie gefühlt nicht so
Ansichtssache, das würde ja alles unnötig aufblähen...
Ist ja nicht nur bei Contao so, das man im Code mit Variablen arbytet und diese dann in die languagefiles auslagert.
Macht meine Heidenhain CNC genauso.
Durch die Ordnerstruktur, gepaart mit dem richtigen Dateinamen, ist es ja easy, einen Text zu überschreiben / ändern.
ToM
Hallo Zusammen,
Danke für die Antworten! Mir ging es jetzt aber auch speziell darum, dass ich das Nachrichtenmodul auch als Mediathek für Videos verwenden möchte. Gibt es da eine Möglichkeit, dass man den "Weiterlesen-Button" nur in einem Archiv umbenennt? In meinem Fall dann halt "Video abspielen" oder Ähnliches. Parallel soll natürlich in den anderen Archiven weiterhin der Butten "Weiterlesen.." vorhanden sein. Jemand eine Idee??
Geändertes Template für die Videos, wenn Du es nicht mehrsprachig benötigst wäre meine Idee.
Ich habe Dir mit meinen Hinweisen geholfen und Du möchtest Dich bedanken?
Unterstütze bitte das Contao-Projekt (Button Links)
Weitere Spendenmöglichkeiten
------------------------------------------------------------------------------------------------------
Contao-Dokumentation: Contao-Handbuch und Contao-Entwickler-Doku
Contao-Online-Video-Kurse: Contao Academy
Funktionalität erweitern: Contao-Erweiterungen
Für Dinge die man mit html5 und css3 lösen kann, braucht man kein javascript.
Hallo Zusammen,
vielen Dank für die Ideen. Ich habe nun versuch, über /contao/languages/de/default.php den "Weiterlesen-Button" zu ändern. Das funktioniert einwandfrei. Aber um den zu trennen würde ich gerne eine weitere Variante hinzufügen.
Aktuell sieht es hier so aus:
Template:
Code:<div class="layout_latest arc_<?= $this->archive->id ?> block<?= $this->class ?>" itemscope itemtype="http://schema.org/Article"> <?php if ($this->addImage): ?> <?php $this->insert('image', $this->arrData); ?> <?php endif; ?> <h2 itemprop="name"><?= $this->linkHeadline ?></h2> <div class="ce_text block" itemprop="description"> <?= $this->teaser ?> </div> <?php if ($this->hasText || $this->hasTeaser): ?> <p class="more"><?= $this->more ?></p> <?php endif; ?> </div>
... und die default.php so:
default.php:
Code:// contao/languages/de/default.php $GLOBALS['TL_LANG']['MSC']['more'] = 'Mehr dazu...';
Müsste es nicht einen Weg geben, hier eine Alternative anzulegen, oder check ich es aktuell nur nicht?
Meine Idee sähe akuell so aus:
Template:
default.php:Code:<div class="layout_latest arc_<?= $this->archive->id ?> block<?= $this->class ?>" itemscope itemtype="http://schema.org/Article"> <?php if ($this->addImage): ?> <?php $this->insert('image', $this->arrData); ?> <?php endif; ?> <h2 itemprop="name"><?= $this->linkHeadline ?></h2> <div class="ce_text block" itemprop="description"> <?= $this->teaser ?> </div> <?php if ($this->hasText || $this->hasTeaser): ?> <p class="more"><?= $this->play ?></p> <?php endif; ?> </div>
Jemand eine Idee?Code:// contao/languages/de/default.php $GLOBALS['TL_LANG']['MSC']['more'] = 'Mehr dazu...'; $GLOBALS['TL_LANG']['MSC']['play'] = 'Video abspielen';
Viele Grüße!
Aktive Benutzer in diesem Thema: 4 (Registrierte Benutzer: 0, Gäste: 4)