Suche Modul zur Auswahl eines Links

Alles rund um Module und Plugins in CONTENIDO 4.10.
Antworten
lunsen_de
Beiträge: 297
Registriert: Mo 17. Okt 2005, 20:26
Wohnort: Weimar
Kontaktdaten:

Suche Modul zur Auswahl eines Links

Beitrag von lunsen_de » Fr 24. Jun 2022, 13:12

Hallo, ich suche/brauche ein Modul, bei welchem ich durch evtl. Auswahl eines Eintrages in einem Dropdownfeldes im Backend einen Link im Frontend generiere. Im Forum habe ich nix vergleichbares gefunden, was ich anpassen/erweitern könnte (mit meinem Wissen).

Zur Erläuterung:
Es soll in allen Projektseiten einen Link geben, der zur Übersichtsseite UND einer bestimmten Stelle mittels Anger führt. Muss nix Automatisches sein, dass den Link irgendwie, iregendwo ausliest.

Gedacht ist
Dropwdownfeld mit z.B. 3 Einträgen, der Kunde wählt "Ziel1 auf Übersichtsseite" und im frontend ist dann ein Link mit Namen "Ziel1" und führt auf der Übersichtsseite zum Anker 1
Oder er wählt den 2. Eintrag und der andere Link wird geneiert, aber immer nur einer.
<a href="front_content.php?idart=25#anker1">Ziel 1</a>
<a href="front_content.php?idart=25#anker2">Ziel 2</a>
....

Hat jemand soetwas in petto oder weiß, wie man das einfach stricken kann.

Grüße lunsen_de

bodil
Beiträge: 340
Registriert: Fr 7. Okt 2011, 04:10
Kontaktdaten:

Re: Suche Modul zur Auswahl eines Links

Beitrag von bodil » Sa 25. Jun 2022, 09:04

Hi lunsen_de!
Wo soll das der Kunde denn auswählen können? Im Editortab? Oder in der Artikel-Konfiguration? In der Konfiguration ist das ein (erweiterbarer) Fünfzeiler. (Im Editortab möglicherweise auch, ich bau sowas aber eigentlich immer in die Konfiguration.)
Grüße!
bodil

Faar
Beiträge: 1915
Registriert: Sa 8. Sep 2007, 16:23
Wohnort: Brandenburg
Kontaktdaten:

Re: Suche Modul zur Auswahl eines Links

Beitrag von Faar » Sa 25. Jun 2022, 09:08

Moin.
Hab ich nicht in der Art aber mal was ähnliches für 4.8 gehabt.
Das was Du suchst, könnte man zum Beispiel so machen, dass es einen Artikel in einer Systemkategorie gibt, wo man die Links mit allen Daten einträgt.
Und auf der Projektseite liest dann ein anderes Modul alle diese Links aus dem Systemartikel aus und listet sie als Dropdown.

Einfacher ginge es, wenn man die Links einfach ins Modul mit einprogrammiert und dieses dann die Links präsentiert.
Dazu müsste man aber bei Linkänderungen immer ins Modulprogramm hinein.

Daher eine nächste Lösung, dass man eine XML-Datei nimmt, wo die Linkdaten (mit allen Metadaten) drin stehen und das Modul liest diese Datei aus dem Upload-Bereich aus. Nachteil ist, dass XML pingelig ist und kleinste Fehler schon Probleme machen.

Andere Möglichkeit wäre, dass man eine Text-Datei mit HTML-Links befüllt und diese vom Modul einfach ausgelesen würden mittels Textfunktionen.
Nachteil ist, wie bei XML auch, jeder Hacker könnte diese Dateien verändern und Links auf z.B. Phishing-Seiten rein schreiben.

Darum die Nächste Lösung, dass man die Links in ein PHP-Array schreibt, weil hier kann man prüfen, ob sich die Datei im Contenido-Programm befindet und man kommt von außen nicht so einfach dran.
Problem ist dann halt wieder das Array, das als Programmcode dasteht. Darf man auch keine Fehlerchen machen.
Fliegt der Bauer übers Dach, ist der Wind weißgott nicht schwach.

lunsen_de
Beiträge: 297
Registriert: Mo 17. Okt 2005, 20:26
Wohnort: Weimar
Kontaktdaten:

Re: Suche Modul zur Auswahl eines Links

Beitrag von lunsen_de » Mo 27. Jun 2022, 08:47

Hallo,

danke für die Infos. Ich habe es jetzt über einen Modulcode gelöst, der eine Auswahl (und Vorkonfiguration uber Kategorietemplate) ermöglicht und dann den gewünschten Link ausgibt.

Modulinput:

Code: Alles auswählen

echo 'Linkziel: ';
echo '<select name="CMS_VAR[100]">';
echo '<option value="none"';
  if("CMS_VALUE[100]"=="none") echo 'selected';
  echo '>kein Link</option>';
echo '<option value="2"';
  if("CMS_VALUE[100]"=="2") echo 'selected';
  echo '>Link 2</option>';
echo '<option value="3"';
  if("CMS_VALUE[100]"=="3") echo 'selected';
  echo '>Link 3</option>';
echo '<option value="4"';
  if("CMS_VALUE[100]"=="4") echo 'selected';
  echo '>Link 4</option>';
echo '</select>';
Moduloutput:

Code: Alles auswählen

<?php
if ($edit) {echo '';
} else {echo '';
}
$ziel = "CMS_VALUE[100]";

if ($ziel == 2) {
echo "<a class='' href='front_content.php?idart=50#anker2'>Link 2</a>";
}
if ($ziel == 3)  {
echo "<a class='' href='front_content.php?idart=50#anker3'>Link 3</a>";
}
if ($ziel == 4)  {
echo "<a class='' href='front_content.php?idart=50#anker4'>Link 4</a>";
}
?>
Vielleicht hilft das jemandem oder es gibt noch Verbesserungsvorschläge.

Grüße lunsen_de

Faar
Beiträge: 1915
Registriert: Sa 8. Sep 2007, 16:23
Wohnort: Brandenburg
Kontaktdaten:

Re: Suche Modul zur Auswahl eines Links

Beitrag von Faar » Mo 27. Jun 2022, 13:43

lunsen_de hat geschrieben:
Mo 27. Jun 2022, 08:47
Vielleicht hilft das jemandem oder es gibt noch Verbesserungsvorschläge.
Auf den ersten Blick:

Code: Alles auswählen

echo mi18n('Linkziel: ');
Macht es Mehrsprachenfähig.
Das sorgt dafür, dass es im Modul übersetzbar ist.
Gilt für alle Texte.
Fliegt der Bauer übers Dach, ist der Wind weißgott nicht schwach.

Antworten