[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
REDAXO Forum • Fragen bei Umstellung einer Seite von 4.7 auf 5.3
Seite 1 von 1

Fragen bei Umstellung einer Seite von 4.7 auf 5.3

Verfasst: 6. Jul 2017, 10:04
von NorbertK
Hallo allerseits,

ich bin gerade dabei eine Seite von Redaxo 4.7 auf 5.3 umzustellen.

Dabei werden sicherlich mehrere Fragen auftauchen.

Die erste, die ich habe:
Was ersetzt in 5.3 die Syntax REX_MEDIA_BUTTON?

Ich danke Euch für Eure Tipps!

Re: Fragen bei Umstellung einer Seite von 4.7 auf 5.3

Verfasst: 6. Jul 2017, 10:22
von Ingo
Wenn du redaxo.org öffnest, klickst du wahrscheinlich als erstes auf "Forum". Klick mal stattdessen auf "Doku".
https://redaxo.org/doku/master/aenderungen-v4-v5

Re: Fragen bei Umstellung einer Seite von 4.7 auf 5.3

Verfasst: 6. Jul 2017, 10:43
von NorbertK
Hallo Ingo,

da hab ich schon nachgeschaut; aber während ich unter Redaxo 4.7 mit REX_MEDIA_BUTTON einen Image-Manager-Dialog angezeigt bekomme, erhalte ich unter Redaxo 5.3 mit REX_MEDIA schlicht und einfach: Nichts.

Konkret: Mein Modul für die Eingabe:

Code: Alles auswählen

<?php
// module: ckeditor_lite_in
?> 

<strong>Sliderbild (700x350):</strong><br>
REX_MEDIA[1 1]

<br>
<strong>Slidertext:</strong><br>
<textarea id="ckeditor1" name="VALUE[2]" style="display: none;">REX_VALUE[2]</textarea>

<script type="text/javascript">
jQuery(document).ready(function($) {
    CKEDITOR.replace('ckeditor1', {
        height: 300,
        fillEmptyBlocks: false,
        forcePasteAsPlainText: true,
        entities: false,
        linkShowTargetTab: false,
        format_tags: 'p;h3',
        removePlugins: 'elementspath,image2',
        extraPlugins: 'rex_help',
        removeDialogTabs: 'link:advanced',
        toolbar: [
            ['Format'],
            ['Bold', 'Italic'],
            ['Link', 'Unlink', 'Anchor'],
            ['rex_help']
            // no comma after last entry!!!
        ]
        // no comma after last entry!!!
    });
});
</script>

<br>
<strong>Text des Buttons:</strong><br>
<input type="text" name="VALUE[3]" value="REX_VALUE[3]" size="80" class="inp100">
<br>
<strong>Link des Buttons:</strong><br>
REX_LINK[4]
Ausgabe:

Code: Alles auswählen

      <article>
        <span class="img-border"><img src="/media/REX_FILE[1]" alt="Slider Image" width="700" height="350"></span>
        REX_VALUE[2]
<?php
if ('' != 'REX_LINK_ID[4]') {
  echo '        <p><a href="'.rex_getUrl(REX_LINK_ID[4]).'" class="button">REX_VALUE[3]</a></p>';
}
?>
      </article>
zeigt mir beim Verwenden
Sliderbild (700x350):
leere Zeile
Slidertext:
CKEditor
Text des Buttons:
Eingabefeld
Link des Buttons:
leere Zeile

Also passt da entweder in der Doku etwas nicht, oder ich stehe auf dem Schlauch.

Vermutlich Letzteres - ich bitte daher um Nachsicht... :?

Re: Fragen bei Umstellung einer Seite von 4.7 auf 5.3

Verfasst: 6. Jul 2017, 10:51
von runstop64
Hi,

das Widget wird mit

Code: Alles auswählen

REX_MEDIA[id=1 widget=1]
angezeigt.

Die Redaxo 5 Syntax der Variablen kannst du hier finden: https://redaxo.org/doku/master/redaxo-variablen. Steht übrigens auch auf der von Ingo verlinkten Seite.

Re: Fragen bei Umstellung einer Seite von 4.7 auf 5.3

Verfasst: 6. Jul 2017, 10:58
von NorbertK
Hallo Daniel,

danke!

ich dachte, ich muss id und widget nicht mitgeben und die "nackten" Zahlen genügen (wie in Redaxo 4.7 auch)...

Re: Fragen bei Umstellung einer Seite von 4.7 auf 5.3

Verfasst: 6. Jul 2017, 11:53
von runstop64
Wenn mehr als ein Wert übergeben wird, müssen die Werte ja irgendwie identifiziert werden. Da die Reihenfolge frei gewählt werden kann, geht das über die Kennung. War in Redaxo 4 auch schon so. In Redaxo 5 sind jedoch noch einige schöne Optionen hinzugekommen, daher wird es nun öfter benötigt. In der Doku sind alle Möglichkeiten beschrieben und auch mit Beispielen versehen. Damit solltest du dich recht schnell zurecht finden.

Re: Fragen bei Umstellung einer Seite von 4.7 auf 5.3

Verfasst: 6. Jul 2017, 18:56
von NorbertK
Hallo Daniel,

jetzt wo Du es sagst, ist es - halbwegs - logisch; wobei ich erwartet hatte, dass eine Trennung der Parameter mittels Komma ohne ihre Deklarierung genügt, da einfach die Reihenfolge der Argumente ausgelesen wird.

Aber gut, ich kann damit leben.

Wobei mir schleierhaft ist, warum man ein zweites Argument einführt, wenn es nur einen möglichen Wert gibt...

Egal: Es läuft wieder!

Re: Fragen bei Umstellung einer Seite von 4.7 auf 5.3

Verfasst: 6. Jul 2017, 22:24
von runstop64
Hast du dir die Doku überhaupt angesehen? Ich meine, alleine für REX_MEDIA sind knapp 10 Parameter möglich.

Re: Fragen bei Umstellung einer Seite von 4.7 auf 5.3

Verfasst: 7. Jul 2017, 05:40
von NorbertK
Hallo Daniel,

ok, war etwas vorschnell (ich habe mich bisher mit den Unterschieden begnügt - und da wurde ja nur das eine Bespiel aufgeführt).

Re: Fragen bei Umstellung einer Seite von 4.7 auf 5.3

Verfasst: 7. Jul 2017, 09:13
von NorbertK
Hallo allerseits,

ich hänge gerade am nächsten Problem:
Die Ausgabe eines Moduls:
<?php
$media = ("/media/REX_MEDIA[1]");
$title = $media->getValue('title');
//$description = htmlentities($media->getValue('media_description'));
$description = $media->getValue('description');
$columns = 3;
$tags = $this->getValue('keywords');
//$preview = rex_media::get("REX_MEDIA[1]", "rex_mediapool_detail");
$preview = "/index.php?rex_img_type=portfolio_col3&rex_img_file=REX_MEDIA[1]";
$image = rex_media::get("REX_MEDIA[1]");

echo '<article class="col'.$columns.' '.$tags.'">'."\n";
echo ' <div class="img"><img src="'.$preview.'" alt="'.$title.'">'."\n";
echo ' <div>'."\n";
echo ' <ul>'."\n";
echo ' <li><a href="'.$image.'" class="action view">Anzeigen</a></li>'."\n";
if ('' != 'REX_LINK[id=1 widget=1]' && '' == 'REX_VALUE[1]') {
$link = rex_getUrl(REX_LINK_ID[1]);
echo ' <li><a href="'.$link.'" class="action go">Link öffnen</a></li>'."\n";
}
if ('' != 'REX_VALUE[1]') {
$link = "REX_VALUE[1]";
echo ' <li><a href="'.$link.'" class="action go nopic" rel="external">Link öffnen</a></li>'."\n";
}
echo ' </ul>'."\n";
echo ' </div>'."\n";
echo ' </div>'."\n";
if ('' != 'REX_LINK[1]' && '' == 'REX_VALUE[1]') {
$link = rex_getUrl(REX_LINK_ID[1]);
echo ' <h3><a href="'.$link.'">'.$title.'</a></h3>'."\n";
} elseif ('' != 'REX_VALUE[1]') {
echo ' <h3><a href="'.$link.'" rel="external">'.$title.'</a></h3>'."\n";
} else {
echo ' <h3>'.$title.'</h3>'."\n";
}

if ('' != $description) {
echo ' <p>'.$description.'</p>'."\n";
}
echo ' </article>';

?>
bringt mir den Fehler:
0.ErrorException
rex:///module/10/output:3
1."Call to a member function getValue() on string"
Ich bin aber bei den folgenden Zeilen nicht sicher, ob ich sie richtig umgesetzt habe:
1.) 4.7:

Code: Alles auswählen

$media       = OOMedia::getMediaByName("REX_MEDIA[1]");
5.3:

Code: Alles auswählen

$media       = ("/media/REX_MEDIA[1]");
2.) 4.7:

Code: Alles auswählen

$title       = $media->getTitle();
5.3:

Code: Alles auswählen

$title       = $media->getValue('title');
3.) 4.7:

Code: Alles auswählen

$description = $media->getDescription();
5.3:

Code: Alles auswählen

$description = $media->getValue('description');
4.) 4.7:

Code: Alles auswählen

$image       = seo42::getMediaFile("REX_MEDIA[1]");
5.3:

Code: Alles auswählen

$image       = rex_media::get("REX_MEDIA[1]");
und: Muss ich an der folgenden Zeile etwas ändern?

Code: Alles auswählen

$preview     = "/index.php?rex_img_type=portfolio_col3&rex_img_file=REX_MEDIA[1]";
Danke!

Re: Fragen bei Umstellung einer Seite von 4.7 auf 5.3

Verfasst: 7. Jul 2017, 11:40
von runstop64
Hi,

Code: Alles auswählen

// REX 4
$media = OOMedia::getMediaByName("REX_MEDIA[1]");

// REX 5
$media = rex_media::get("REX_MEDIA[1]");
Der Rest müsste stimmen.

Re: Fragen bei Umstellung einer Seite von 4.7 auf 5.3

Verfasst: 7. Jul 2017, 13:18
von NorbertK
Danke Daniel!

Es hing noch an anderer Stelle (es konnte aus

Code: Alles auswählen

.$image.
kein String generiert werden); daher habe ich die betroffen Zeile auf

Code: Alles auswählen

echo '              <li><a href="/media/REX_MEDIA[1]" class="action view">Anzeigen</a></li>'."\n";
geändert.

Jetzt läuft das Modul...

Re: Fragen bei Umstellung einer Seite von 4.7 auf 5.3

Verfasst: 9. Jul 2017, 08:45
von NorbertK
Hallo allerseits,

ein Teil eines Templates greift leider nicht:

Code: Alles auswählen

<?php
$cat = rex_category::get(REX_CATEGORY_ID);
($cat->getParentId() != 0) ? $id = $cat->getParentId() : $id = REX_CATEGORY_ID;

$nav = new rex_nav();

$nav->setStartCategoryId($id);
$nav->setLevelCount(1);
$nav->setShowAll(false);
$nav->setIgnoreOfflines(true);
$nav->setHideWebsiteStartArticle(false);
$nav->setSelectedClass('current-menu-item');
$nav->setActiveClass('current-menu-item active');
$nav->setListItemClassFromMetaField('cat_css_class');
$nav->setHasSubClass('parent');

echo $nav->getNavigation();
?>
Damit wird ein seitliches Navigationsmenü befüllt. Soweit funktioniert das auch; aber:

Code: Alles auswählen

$nav->setListItemClassFromMetaField('cat_css_class');
sollte eigentlich dem LI-Element den Namen der Kategorie als Teil der class mitgeben (damit im Background ein passendes Icon mittels CSS eingeblendet werden kann):

Code: Alles auswählen

.content>aside section.menu>ul li.haus>a {background: url("/media/icon_haus.png") 95% 50% no-repeat;}
So funktionierte das in Rex 4.7.

Aber in Redaxo 5.3 wird mir die Kategorie in class nicht eingetragen.

Was habe ich beim Umsetzen auf die neue Syntax übersehen?

Re: Fragen bei Umstellung einer Seite von 4.7 auf 5.3

Verfasst: 9. Jul 2017, 12:49
von Ingo
Ich bin mir ziemlich sicher, dass die Klasse rex_nav nicht Bestandteil von Redaxo ist.

Re: Fragen bei Umstellung einer Seite von 4.7 auf 5.3

Verfasst: 10. Jul 2017, 05:23
von NorbertK
Hallo Ingo,

ja, rex_nav gehört zum AddOn Navigation Factory; laut ReadMe ist die verwendete Syntax aber noch valide:
Alle verfügbaren Methoden und Parameter der rex_nav Klasse
...
$nav->setListItemClassFromMetaField('cat_css_class'); // li klasse aus metainfo feld: 'cat_css_class'
...
Auch

Code: Alles auswählen

$nav->setListItemIdFromMetaField('cat_css_id');
greift nicht.

Jemand 'ne Idee?

Re: Fragen bei Umstellung einer Seite von 4.7 auf 5.3

Verfasst: 10. Jul 2017, 08:14
von Ingo

Re: Fragen bei Umstellung einer Seite von 4.7 auf 5.3

Verfasst: 10. Jul 2017, 09:25
von RexDude
Ich schau mir das nachher mal an und berichte dann...

Re: Fragen bei Umstellung einer Seite von 4.7 auf 5.3

Verfasst: 11. Jul 2017, 19:43
von RexDude
Hey, bei mir geht dass. Müsstest also selber ran und das debuggen. Achte drauf dass du dass Metainfofeld "css_id" benannt hast. Der Prefix "cat_" wird ja auto. davor gestellt. Und Cache löschen auch mal probieren, nachdem die Felder befüllt wurden ;)

Re: Fragen bei Umstellung einer Seite von 4.7 auf 5.3

Verfasst: 12. Jul 2017, 14:40
von NorbertK
Hallo "Dude",

tausend dank!

Hatte ich eigentlich auch alles soweit gemacht - außer den Cache zu leeren - und siehe da: Es geht!