Du bist nicht angemeldet. Der Zugriff auf einige Boards wurde daher deaktiviert.
Seiten: 1
#1 12. Mai 2015 16:32
- flashpiet
- hat von CMS/ms gehört
- Registriert: 12. Mai 2015
- Beiträge: 2
Cataloger Bildpfade erzeugen 302-Weiterleitung
Hallo zusammen,
ich nutze für ein Kundenprojekt CMS Made simple und das Cataloger-Modul.
Mein Ausgabetemplate für den Cataloger sieht so aus:
[== Deutsch ==]
{section name=numloop loop=$items}
<div class="citiesthumbs"><a title="High Class {$items[numloop].title}" href="{$items[numloop].link}"><img src="{$items[numloop].image}" title="City Guide {$items[numloop].title}" alt="City Guide {$items[numloop].title}" width="192" height="144" />{$items[numloop].bildunterschrift}</a></div>
{/section}
Das Problem ist, dass im Quellcode nicht der direkte Pfad zum Bild steht, sondern sowas wie
http://www.meine-website.com/modules/Cataloger/Cataloger.Image.php?i=cityguide-amsterdam_s_1_283_0.jpg&ac=90959"
Google wertet das aber als 302-Weiterleitung und das ist nicht gut fürs Ranking.
Wie kann ich den Pfad direkt angeben lassen? Über eine Zwischenvariable die ich dann an das src Attribut von img übergebe?
Bitte Euch um Hilfestellung.
LG
Peter
Offline
#2 12. Mai 2015 18:31
- NaN
- Moderator
- Ort: Halle (Saale)
- Registriert: 09. November 2010
- Beiträge: 4.437
Re: Cataloger Bildpfade erzeugen 302-Weiterleitung
Die Sache ist die, der Cataloger versucht automatisch verkleinerte Bilder zu generieren und anzuzeigen. Dazu ruft er das Bild nicht direkt auf, sondern ein php-Script.
Es gibt leider keine Möglichkeit, direkt an das skalierte Bild heranzukommen, ohne den PHP-Code des Moduls zu ändern. Denn im Template weiß er Cataloger noch nicht, ob das skalierte Bild existiert. Das prüft er erst, wenn das Bild aufgerufen wird. Daher gibt es im Template auch noch keine URL zum skalierten Bild sondern stattdessen die URL zum php-Script.
Es gibt im Template zwar die URL zum Original-Bild (anstelle von {$items[numloop].image} -> {$items[numloop].image_src} verwenden), wenn Du das aber anstelle des skalierten Bildes verwendest, dann hast Du die Bilder immer in Original-Größe, was Dir Google evtl. auch wieder um die Ohren hauen wird.
Der Cataloger ist mittlerweile auch etwas in die Jahre gekommen. Ich habe Zweifel, dass der Entwickler noch aktiv daran arbeitet. Die letzte Version ist von 2012 und die letzte Änderung im SVN von 2013. Kann Dir also nicht sagen inwiefern ein Feature-Request etwas bringt.
Was man ändern müsste, wäre in der Datei "Cataloger.Image.php" die Umleitung auf das skalierte Bild. Stattdessen kann man das Bild auch direkt selber ausgeben. Ändere dazu in der Datei "Cataloger.Image.php" die Zeilen 56 - 76:
$dest = "Location: ".$config['uploads_url'].
$catmod->getAssetPath('i').'/'.$spec.'.jpg';
if ($newImage || $anticache)
{
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-cache, cachehack=".time());
header("Cache-Control: no-store, must-revalidate");
header("Cache-Control: post-check=-1, pre-check=-1", false);
$dest .= '?ac=';
for ($i=0;$i<5;$i++)
{
$dest .= rand(0,9);
}
}
if ($debug) error_log($dest);
header($dest);
return;
in fogendes:
# Mod by NaN: output the image directly -> avoid 302 redirects
#$dest = "Location: ".$config['uploads_url'].
# $catmod->getAssetPath('i').'/'.$spec.'.jpg';
#if ($newImage || $anticache)
# {
# header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
# header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
# header("Cache-Control: no-cache, cachehack=".time());
# header("Cache-Control: no-store, must-revalidate");
# header("Cache-Control: post-check=-1, pre-check=-1", false);
# $dest .= '?ac=';
# for ($i=0;$i<5;$i++)
# {
# $dest .= rand(0,9);
# }
# }
#if ($debug) error_log($dest);
#header($dest);
#return;
$file = $config['uploads_path'] . $catmod->getAssetPath('i') . '/' . $spec.'.jpg';
header_remove();
while(ob_end_clean());
header('Content-Type: image/jpeg');
header('Content-Disposition: inline; filename=' . basename($file));
header('Content-Length: ' . $sized['size']);
readfile($config['uploads_path'].$catmod->getAssetPath('i').'/'.$spec.'.jpg');
exit;
#---
Ich hab's jetzt allerdings nicht getestet.
Wäre daher auf Dein Feedback angewiesen.
Module: GBFilePicker, AdvancedContent
Sicherheit: Beispiel .htaccess-Datei
CMSms 1.12 unter PHP 7:
cmsms-1.12.3.zip (inoffiziell - komplett inkl. Installer)
CMSms 1.12 unter PHP 8:
cmsms-1.12.4.zip (inoffiziell - komplett inkl. Installer)
Offline
#3 12. Mai 2015 20:38
- Klenkes
- Server-Pate
- Ort: 89428 Syrgenstein
- Registriert: 17. Dezember 2010
- Beiträge: 1.437
Re: Cataloger Bildpfade erzeugen 302-Weiterleitung
Das geht mit Cataloger auch durchaus anders.
Ich betreue eine Website mit 600 Artikeln und je mind. 8 weiteren Fotos. Da war mir damals schnell klar, dass ich es anders machen muss.
Ich setze dort SuperSizer ein, der die Bilder verkleinert und zwischenspeichert.
Z. B. in einer Detailtemplate auf das erste Bild zugreifen:
<img src="{$image_1_url}" alt="{$title}" title="{$title}" />
Oder alle Bilder die zum Artikel gehören in einer Schleife mit SuperSizer ausgeben:
<ul>
{section name=ind loop=$image_url_array}
<li>
{assign var="moreimg" value=$src_image_url_array[ind]|replace:"$root_url":""}
<a href="{$src_image_url_array[ind]}">
<img src="{supersizer path=$moreimg width='80' height='80' crop='true' url=1}" width="80" height="80" title="{$title}" alt="{$title}" />
</a>
</li>
{/section}
</ul>
Siehe hier: http://bit.ly/1zYxog6
Der Code ist schon 7 Jahre alt und sollte auch mal modernisiert werden. Kann man heute besser machen.
Aber es funktioniert! Und Google meckert nicht.
Offline
#4 12. Mai 2015 21:22
- nockenfell
- Moderator
- Ort: Gontenschwil, Schweiz
- Registriert: 09. November 2010
- Beiträge: 2.934
- Webseite
Re: Cataloger Bildpfade erzeugen 302-Weiterleitung
ToolBox oder CGSmartImage können dafür auch eingesetzt werden. Supersizer ist ein hässliches Plugin welches soweit mir bekannt mit der 1.11er nicht mehr wirklich funktioniert.
[dieser Beitrag wurde mit 100% recycled bits geschrieben]
Mein Blog / Diverse Links rund um CMS Made Simple
Module: btAdminer, ToolBox
Offline
#5 14. Mai 2015 13:11
- Klenkes
- Server-Pate
- Ort: 89428 Syrgenstein
- Registriert: 17. Dezember 2010
- Beiträge: 1.437
Re: Cataloger Bildpfade erzeugen 302-Weiterleitung
Wenn ich mich recht erinnere gab es 2010 nicht wirklich eine Alternative zu Supersizer, aber heute fange ich an immer mehr mit tbImage zu machen.
CGSmartImage ist mir durch den Autor zu risikoreich.
Nur aus Interesse: Warum ist SuperSizer ein hässliches Plugin?
Offline
#6 14. Mai 2015 13:17
- nockenfell
- Moderator
- Ort: Gontenschwil, Schweiz
- Registriert: 09. November 2010
- Beiträge: 2.934
- Webseite
Re: Cataloger Bildpfade erzeugen 302-Weiterleitung
Hast du mal den Code angeschaut? Die Verschachteltung in der programmierten Klasse ist dermassen intensiv, dass ich selber Anpassungen nicht hingebracht habe. Wenn ich mich richtig erinnere, reagierte Supersizer nicht so wie ich es wünschte, wenn kein Bild gefunden wurde. Dies anzupassen war sehr aufwändig, da der Code schlecht lesbar umgesetzt wurde.
[dieser Beitrag wurde mit 100% recycled bits geschrieben]
Mein Blog / Diverse Links rund um CMS Made Simple
Module: btAdminer, ToolBox
Offline
#7 19. Mai 2015 15:46
- flashpiet
- hat von CMS/ms gehört
- Registriert: 12. Mai 2015
- Beiträge: 2
Re: Cataloger Bildpfade erzeugen 302-Weiterleitung
hallo Jungs,
vielen Dank für Euer tolles Feedback. Ich war leider längere Zeit außer Gefecht, daher jetzt erst die späte Antwort
Ich werde Eure Vorschläge austesten und Euch sagen was letztendlich funktioniert hat.
LG
Peter
Offline
#8 20. Mai 2015 23:30
- faglork
- arbeitet mit CMS/ms
- Ort: Fränkische Schweiz
- Registriert: 15. Dezember 2010
- Beiträge: 1.152
- Webseite
Re: Cataloger Bildpfade erzeugen 302-Weiterleitung
Der Cataloger ist mittlerweile auch etwas in die Jahre gekommen. Ich habe Zweifel, dass der Entwickler noch aktiv daran arbeitet. Die letzte Version ist von 2012 und die letzte Änderung im SVN von 2013. Kann Dir also nicht sagen inwiefern ein Feature-Request etwas bringt.
http://forum.cmsmadesimple.org/viewtopi … =7&t=71852
Servus,
Alex
Offline
#9 20. Mai 2015 23:38
- faglork
- arbeitet mit CMS/ms
- Ort: Fränkische Schweiz
- Registriert: 15. Dezember 2010
- Beiträge: 1.152
- Webseite
Re: Cataloger Bildpfade erzeugen 302-Weiterleitung
Wenn ich mich recht erinnere gab es 2010 nicht wirklich eine Alternative zu Supersizer, aber heute fange ich an immer mehr mit tbImage zu machen.
CGSmartImage ist mir durch den Autor zu risikoreich.
Du würdest ja eh keinen support für cgsmartimage bekommen ;-)
(wie wir alle hier)
Toolbox - da weiss man was man hat, und der Entwickler ist ein normaler Mensch (glaubich ;-)) mit dem man reden kann ...
Nochmals DANKE an Nockenfell für die Toolbox - mittlerweile unverzichtbar.
Servus,
Alex
Offline
#10 20. Mai 2015 04:52
- nockenfell
- Moderator
- Ort: Gontenschwil, Schweiz
- Registriert: 09. November 2010
- Beiträge: 2.934
- Webseite
Re: Cataloger Bildpfade erzeugen 302-Weiterleitung
Toolbox - da weiss man was man hat, und der Entwickler ist ein normaler Mensch (glaubich ;-)) mit dem man reden kann ...
Nochmals DANKE an Nockenfell für die Toolbox - mittlerweile unverzichtbar.
Nee ich bin ein Roboter und ein Arschloch
Danke für die Blumen
[dieser Beitrag wurde mit 100% recycled bits geschrieben]
Mein Blog / Diverse Links rund um CMS Made Simple
Module: btAdminer, ToolBox
Offline
#11 20. Mai 2015 06:29
- Andynium
- Moderator
- Ort: Dohna / SN / Deutschland
- Registriert: 13. September 2010
- Beiträge: 7.018
- Webseite
Re: Cataloger Bildpfade erzeugen 302-Weiterleitung
Optimal wäre, wenn man die Toolbox "irgendwie" auf CGSimpleSmarty (also Module, bei denen die gleichen Funktionalitäten vorhanden sind) mappen könnte - also, dem System wird vorgegaukelt, CGSimpleSmarty sei vorhanden (manche Module setzen das ja für den Betrieb voraus), aber tatsächlich/unter der Haube werden die tb Funktionen angesprungen .
Pff, coole Modul-Idee ... ein CGKiller, ähmm ... CGWrapper
Offline
#12 20. Mai 2015 07:58
- NaN
- Moderator
- Ort: Halle (Saale)
- Registriert: 09. November 2010
- Beiträge: 4.437
Re: Cataloger Bildpfade erzeugen 302-Weiterleitung
Dieses "irgendwie" sieht am Ende so aus, dass man ein Modul mit Namen CGSimpleSmarty schreiben müsste, was dann aber die Toolbox aufruft (oder einfach die ToolBox erweitert). Ich weiß nicht, ob man sowas öffentlich vertreiben darf. Wegen Copyright und so.
Module: GBFilePicker, AdvancedContent
Sicherheit: Beispiel .htaccess-Datei
CMSms 1.12 unter PHP 7:
cmsms-1.12.3.zip (inoffiziell - komplett inkl. Installer)
CMSms 1.12 unter PHP 8:
cmsms-1.12.4.zip (inoffiziell - komplett inkl. Installer)
Offline
#13 20. Mai 2015 08:45
- nockenfell
- Moderator
- Ort: Gontenschwil, Schweiz
- Registriert: 09. November 2010
- Beiträge: 2.934
- Webseite
Re: Cataloger Bildpfade erzeugen 302-Weiterleitung
Stelle ich mir nicht ganz einfach vor. Bei Plugins funktioniert das, da diese registriert werden können. Bei Modulen müsste hier der Modul-Wrapper überschrieben werden. Theoretisch mit einer PE-Edition machbar. Wichtig ist dann allerdings, dass die entsprechenden Funktionen jeweils Zeitnah nachgebaut werden.
Ich würde dann eher für eine PE-Edition mit integrierter ToolBox plädieren, so das einige Funktionen zum Systemstandard gehören.
[dieser Beitrag wurde mit 100% recycled bits geschrieben]
Mein Blog / Diverse Links rund um CMS Made Simple
Module: btAdminer, ToolBox
Offline
Seiten: 1