Hallo
ich habe ein Problem bei dem ich nicht so ganz weiterkomme:
Ich habe eine "Projekt" Kategorie in der alle 2-3 Monate ein neuer Artikel hinzukommt. Von der Startseite wird gibt es einen direkten Link zu dem Startartikel (Aktuell Projekt-1) der "Projekt"Kategorie.
Nun möchte ich aber - wenn es ein neues Projekt gibt - einen neuen Artikel erstellen (Projekt-2). Dieser soll dann auch über den direkten Link erreicht werden können (und nicht mehr der Artikel von Projekt-1).
Nun habe ich dafür zwei Ansätze:
1. Ich baue den Link von der Startseite so um, dass er immer nur auf die Kategorie verweist (und sich somit den Startartikel selber sucht). Ich müsste dann immer nur den Startartikel ändern sodass der Artikel mit dem aktuellen Projekt der Startartikel ist.
Diese Lösung finde ich nicht so toll, da es auch andere einsetzen sollen (ich glaube ich muss nicht weiter reden...)
2. Ich lasse den direkten Link von der Sartseite auf den Startartikel der "Projekt"Kategorie so wie er ist.
In den Startartikel der "Projekt"Kategorie baue ich aber Weiterleitung ein, die automatisch auf den Artikel weiterleitet der die nächst höhere Prio hat.
Sprich:
Startartikel : Prio 1
Projekt-2 : Prio 2
Projekt-1 : Prio 3
usw.
Das heißt ich müsste nur in die Prio der Artikel eingreifen um die Reihenfolge der Artikel zu bestimmen. Das halte ich für den besseren Weg. Auch um es anderen Leuten zu erklären damit die das anwenden können.
Nur:
Wo finde ich denn eine solche Weiterleitung??? Bzw. geht das überhaupt??? Und wie sieht das ganze dann aus??? Hat jemand vielleicht schon so was???
Surkan
Edit:
Ich nutze Redaxo 4.2.1
Hallo,
Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.
Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.
Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt

Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
[gelöst] Weiterleitung auf Artikel mit nächst höheren Prio
Zuletzt geändert von Surkan am 16. Mär 2010, 12:04, insgesamt 1-mal geändert.
-
- Beiträge: 230
- Registriert: 22. Sep 2004, 17:47
- Wohnort: Aschaffenburg
- Kontaktdaten: Website
Weiterleitung auf den Artikel einer Kategorie mit niedrigster Prio ausser Startartikel
Ein Ansatz sowas auf redaxo.de (Doku & Downloads) zu finden:
Weiterleitung
Download - Module - Suchbegriff: Weiterleitung
http://www.redaxo.de/165-0-moduldetails ... dule_id=92
Artikel in Kategorie, ausser Startartikel
Doku - Entwickler & Admin - 3.6 Object Oriented Framework - 3.6.1 Category - getCategoryById()
http://www.redaxo.de/350-0-getcategorybyid.html
OOCategory::getCategoryById($category_id = false, $clang = false)
$category = OOCategory::getCategoryById(2, 1)
oder
Download - Module - Artikelliste
http://www.redaxo.de/165-0-moduldetails ... dule_id=20
<?php
damit hat man eigentlich alles beisammen
Das kann bestimmt noch eleganter machen, aber ist Weg eine Lösung hier zu finden.
Ein Ansatz sowas auf redaxo.de (Doku & Downloads) zu finden:
Weiterleitung
Download - Module - Suchbegriff: Weiterleitung
http://www.redaxo.de/165-0-moduldetails ... dule_id=92
Code: Alles auswählen
if (!$REX["REDAXO"])
{
ob_end_clean();
header("Location: ".rex_getUrl("REX_LINK_ID[1]"));
exit;
}
Artikel in Kategorie, ausser Startartikel
Doku - Entwickler & Admin - 3.6 Object Oriented Framework - 3.6.1 Category - getCategoryById()
http://www.redaxo.de/350-0-getcategorybyid.html
OOCategory::getCategoryById($category_id = false, $clang = false)
$category = OOCategory::getCategoryById(2, 1)
oder
Download - Module - Artikelliste
http://www.redaxo.de/165-0-moduldetails ... dule_id=20
<?php
Code: Alles auswählen
$cat = OOCategory::getCategoryById( 5); // hier die ID der Kategorie
$articles = $cat->getArticles( true); // Alle Artikel der Kategorie auslesen, die Online sind
if ( is_array( $articles) && count( $articles) > 0) {
echo '<ul class="article-list">';
foreach ( $articles as $article) {
// Den aktuellen Artikel nicht verlinken
if ( $article->getId() == REX_ARTICLE_ID) continue;
// Startartikel ausblenden
if ( $article->isStartPage()) continue;
echo '<li><a href="'.$article->getUrl().'">'.$article->getName().'</a></li>';
}
echo '</ul>';
}
?>
damit hat man eigentlich alles beisammen
Code: Alles auswählen
<?php
$cat = OOCategory::getCategoryById($this->getValue("category_id"));
$articles = $cat->getArticles( true);
if ( is_array( $articles) && count( $articles) > 0) {
foreach ( $articles as $article) {
// Den aktuellen Artikel nicht verlinken
if ( $article->getId() == REX_ARTICLE_ID) continue;
elseif ( $article->isStartPage()) continue;
else {
$url = $article->getUrl();
break;
}
}
}
if (!$REX["REDAXO"] && isset($url))
{
ob_end_clean();
header("Location: ".$url);
exit;
}
?>
Das kann bestimmt noch eleganter machen, aber ist Weg eine Lösung hier zu finden.
Super - das funktioniert ohne ein Problem...
Jetzt hab ich aber ein anderes
Und zwar wird jetzt von dem Startartikel auf den zweiten Artikel weiter geleitet. In dem zweiten (sowie in allen nachfolgenden Artikeln) hab ich ein Modul, mit dem ich jeweils eine Artikel vor und zurück blättern kann (in der aktuellen Kategorie).
Das Problem ist nun, dass das Modul nun auch den Startartikel auflistet der aber nur die Weiterleitung beinhaltet.
Wie kann ich denn in folgenden Code einbauen, dass der Startartikel nicht mir angezeigt wird.
Hier das Modul: http://www.redaxo.de/165-0-moduldetails ... ule_id=321
Ich denke, dass es irgendwo in dem Abschnitt eingebaut werden muss:
Leider hab ich keine Ahnung davon, wie man einen Startartikel ausmacht.
Kann jemand helfen???
Danke
Jetzt hab ich aber ein anderes

Und zwar wird jetzt von dem Startartikel auf den zweiten Artikel weiter geleitet. In dem zweiten (sowie in allen nachfolgenden Artikeln) hab ich ein Modul, mit dem ich jeweils eine Artikel vor und zurück blättern kann (in der aktuellen Kategorie).
Das Problem ist nun, dass das Modul nun auch den Startartikel auflistet der aber nur die Weiterleitung beinhaltet.
Wie kann ich denn in folgenden Code einbauen, dass der Startartikel nicht mir angezeigt wird.
Hier das Modul: http://www.redaxo.de/165-0-moduldetails ... ule_id=321
Ich denke, dass es irgendwo in dem Abschnitt eingebaut werden muss:
Code: Alles auswählen
foreach(OOArticle::getArticlesOfCategory($REX_CAT_ID,TRUE) as $a) {
if($a !== NULL) {
$id = $a->getId();
$locs2[$id] = $a->getName();
if($id == $REX_ARTIC_ID) {
$prev = $last;
}
if($last == $REX_ARTIC_ID) {
$next = $id;
//$locs2[] = $a->getName();
break;
}
$last = $id;
}
}
Kann jemand helfen???
Danke
Sorry wenn ich mich zu doof anstelle, aber wenn ich in mein BlätterModul
folgenden Code einbaue,
dann zeigt er gar nichts an. Weder einen Artikel vor noch einen Artikel zurück.
Ich hab leider nicht so viel Ahnung, aber wo in dem Modul muss ich den Code einbauen???
Hier mal der komplette Modul Code
Thx
folgenden Code einbaue,
Code: Alles auswählen
if ($a->isStartPage()) {
exit;
}
Ich hab leider nicht so viel Ahnung, aber wo in dem Modul muss ich den Code einbauen???
Hier mal der komplette Modul Code
Code: Alles auswählen
<?php
$REX_CAT_ID = $this->getValue('category_id');
$REX_ARTIC_ID = $this->getValue('article_id');
$modVariante = 2; // 1 = Ausgabe Standardtext ; 2 = Ausgabe Artikelname;
// Bezeichnung für Vor- bzw. zurück kann geändert werden
$locs1 = array('vorheriger Artikel','nächster Artikel');
// ####### Ab hier keine Änderung notwendig ####### //
$locs2 = array();
$deli = '';
$prev = 0;
$next = 0;
$last = 0;
foreach(OOArticle::getArticlesOfCategory($REX_CAT_ID,TRUE) as $a) {
if($a !== NULL) {
$id = $a->getId();
$locs2[$id] = $a->getName();
if($id == $REX_ARTIC_ID) {
$prev = $last;
}
if($last == $REX_ARTIC_ID) {
$next = $id;
//$locs2[] = $a->getName();
break;
}
$last = $id;
}
}
if ($modVariante == 1) {
$prevVariante = $locs1[0];
$nextVariante = $locs1[1];
}
elseif ($modVariante == 2) {
$prevVariante = ' <img src="'.$REX[HTDOCS_PATH].'/files/back.gif" width="7" alt="<" border="0" height="11"/> '.$locs2[$prev].' ';
$nextVariante = ' '.$locs2[$next].' <img src="'.$REX[HTDOCS_PATH].'/files/next.gif" width="7" alt=">" border="0" height="11"/> ';
}
if($prev != 0)
printf('<div class="back"><br/><a id="back" href="%s">%s</a></div>',rex_getUrl($prev),$prevVariante);
if($next != 0) {
if($prev != 0) echo $deli;
printf('<div class="next"><br/><a id="next" href="%s">%s</a></div>',rex_getUrl($next),$nextVariante);
}
unset($id,$a,$last,$next,$prev,$deli,$locs1,$locs2);
?>
Danke - gelöst
Surkan
Code: Alles auswählen
if($a !== NULL && !$a->isStartPage() ) {