Image Alt Attribut soll der Produktname sein - Nicht der Bildername

  • Image Alt Attribut soll der Produktname sein - Nicht der Bildername.


    Möchte in meinem Template, dass das Image Alt Attribut der Produktname ist und nicht der Name den ich für das Bild vergeben habe :rolleyes:


    Frage: Wie viele Zeichen bzw. Buchstaben darf eine Web Grafik haben :confused:


    Wer kann mir da weiter helfen?


    Hier ein Link zu meiner Seite:


    Shop | | Alice aus dem Wunderland


    Gruss Jamel

    I`m not a perfect person. I make a lot of mistakes....
    :o But still, I love those people who stay with me after knowing how I really am. :o


    Problem gelöst? Dann bitte auch die Lösung posten und Beitrag auf [gelöst] setzen.


    Im aufgerufenen Thema siehst Du oben den Satz "Dieses Thema als [GELÖST] markieren.
    Nach Anklicken wird das Thema auf gelöst gesetzt und der Satz verschwindet.

    3 Mal editiert, zuletzt von Jamel ()

  • Vielleicht habe ich mich oben falsch ausgedrückt oder steh gerade auf ner Leitung, aber so wie ich jjk verstanden habe ist das Feld in der Produktbeschreibung Meta-Tags eigentlich das Feld alt"" und soll der Produktname sein - also der text des Bildes.


    Mir ist aber gerade noch aufgefallen, das in der deutschen Übersetzung das erste und das dritte Textfeld unter dem Reiter 'Produktabbildungen' falsch bezeichnet ist. Die Felder wurden in einer der ersten VirtueMart 2 Versionen geändert. Ich habe aber offensichtlich vergessen, das in den deutschen Sprachdateien zu ändern, was ich nun umgehend nachholen werde. Ich frage mich allerdings gerade, wieso sich von den vielen deutschen Benutzern noch keiner darüber beim VirtueMart Team beschwert hat. Der Fehler ist nämlich garantiert schon mehr als ein ganzes Jahr alt :)


    "Angezeigter Titel" muss muss heissen "Einzigartiger Dateiname" (gemeint ist, das VirtueMart bei diesem Feld keine Duplikate in der Datenbank erlaubt)
    "Meta-Tags" muss in "Alt-Text des Bildes" umbenannt werden.


    Die Meta-Beschreibung und die (heutzutage überflüssigen) Meta-Schlüsselwörter sind unter der Produktbeschreibung zu finden.


    Wie dem auch sei :rolleyes:


    Irgendwie macht mein Template in der Produktansicht und in den Neuesten Produkte nicht das was ich will - oder was es soll :mad:


    In den Kategorien funktioniert es.


    Dort wird der Kategorie Name angezeigt und nicht der Bildername.jpg ;)


    Bin jetzt langsam selber verwirrt :o


    Was ich auf jeden Fall möchte ist, dass wenn man mit der Maus auf das Bild fährt der Produktname erscheint.


    Egal ob in der Kategorieansicht, Listen Ansicht - Produktdetails oder den neusten Produkten usw, usw.


    Bei mir erscheint leider in den Produktdetails der Name dem ich dem Bild vergegeben habe :mad: z.B Jacke 1, jacke 2 usw. und das stellenweise auch noch abgeschnitten.


    Wenn ich das Plugin SEOFLI - SEO Friendly Links and Images nicht hätte, würde mein Template gar keine Produktnamen (Title) und einige Alt"" anzeigen


    Gruss Jamel

    I`m not a perfect person. I make a lot of mistakes....
    :o But still, I love those people who stay with me after knowing how I really am. :o


    Problem gelöst? Dann bitte auch die Lösung posten und Beitrag auf [gelöst] setzen.


    Im aufgerufenen Thema siehst Du oben den Satz "Dieses Thema als [GELÖST] markieren.
    Nach Anklicken wird das Thema auf gelöst gesetzt und der Satz verschwindet.

    14 Mal editiert, zuletzt von Jamel ()

  • Hallo habe mir mal meine default.php in der kategorie und in der detailansicht angesehen.


    Vielleicht kann mir jemand sagen wie bzw. was ich in das leere alt="" einfügen muss, damit der Produkttitel dort angezeigt wird:


    //::> IMAGE SUBTITLE
    if( !empty($this->YagProduct->images[0]->title) ) :
    $imageSubTitle = '<span class="vm-img-desc">'.$this->YagProduct->images[0]->title.'</span>';
    else :
    $imageSubTitle = '';
    endif;


    //::> IMAGEZOOM ACTIVE OR NOT?
    if( YagParams::get("imageZoomOnFlypage") === '1' ) :
    $yagendooImageTag = '
    <a class="modal" href="'.$this->YagProduct->images[0]->urlFullsize.'">
    <img src="'.$this->YagProduct->images[0]->urlFullsize.'" alt="" class="product-image-zoom jLoupe" />
    '.$imageSubTitle.'
    </a>
    ';
    else :
    $yagendooImageTag = '
    <img src="'.$this->YagProduct->images[0]->urlFullsize.'" alt="" class="product-image" />
    '.$imageSubTitle
    ;
    endif;
    ?>



    In der Kategorieansicht (wo es funktioniert) sieht es so aus:


    <h2 class="yagVmFrontpageCategoryListItemName">
    <a href="<?php echo JRoute::_($yagCategory->link) ?>" title="<?php echo $yagCategory->name; ?>">
    <?php echo $yagCategory->name; ?>
    </a>
    </h2>


    <?php if(!empty($yagCategory->images)): ?>
    <div class="yagVmFrontpageCategoryListItemImg">
    <a href="<?php echo JRoute::_($yagCategory->link) ?>" title="<?php echo $yagCategory->name; ?>">
    <object>
    <div class="yagVmFrontpageCategoryListItemImgInner">
    <img src="<?php echo $yagCategory->images[0]->urlThumb; ?>" title="<?php echo $yagCategory->name; ?>" alt="<?php echo $yagCategory->images[0]->title; ?>" />
    </div>


    Gruss Jamel

    I`m not a perfect person. I make a lot of mistakes....
    :o But still, I love those people who stay with me after knowing how I really am. :o


    Problem gelöst? Dann bitte auch die Lösung posten und Beitrag auf [gelöst] setzen.


    Im aufgerufenen Thema siehst Du oben den Satz "Dieses Thema als [GELÖST] markieren.
    Nach Anklicken wird das Thema auf gelöst gesetzt und der Satz verschwindet.

    4 Mal editiert, zuletzt von Jamel ()

  • <div class="yagVmFrontpageCategoryListItemImgInner">
    <img src="<?php echo $yagCategory->images[0]->urlThumb; ?>" title="<?php echo $yagCategory->name; ?>" alt="<?php echo $yagCategory->images[0]->title; ?>" /></div>


    Die Antwort hast Du doch da oben schon selbst gegeben, oder? ;-)
    Setz doch das alt aus Deiner Kategorieansicht einfach ein und probier es, müsste klappen.


    Das alt war übrigens primär eine Möglichkeit, eine alternative Beschreibung für ein Bild anzugeben, das nicht empfangen werden konnte, oder gesehen werden konnte. Ein Text, der auch von einem Programm vorgelesen werden kann, das zum Beispiel einem Blinden hilft, die Seite zu verstehen, sollte bevorzugt werden. Das alt für SEO zu "missbrauchen" ist schon fast unmoralisch, allerdings ist ja auch Google in dem Sinne "noch" fast blind, deshalb können wir das noch einmal durchgehen lassen.

  • Hallo Stefan,


    also von meiner Logig her dachte ich auch ich kann einfach:


    $yagendooImageTag = '
    <img src="'.$this->YagProduct->images[0]->urlFullsize.'" alt="" class="product-image" />
    '.$imageSubTitle
    ;
    endif;
    ?>


    mit dem ersetzen:


    $yagendooImageTag = '
    <img src="<?php echo $yagYagProduct->images[0]->urlFullsize; ?>" title="<?php echo $yagYagProduct->name; ?>" alt="<?php echo $yagYagProduct->images[0]->title; ?>" />
    '.$imageSubTitle
    ;
    endif;
    ?>


    Aber ich weiss nicht ob ich dann etwas auslöse was ich 1. nicht weiss bzw. überschauen kann was ich damit auslöse und 2. nicht wollte, da ich damit 1. img src="'.$this-> und 2. class="product-image" änder bzw. weg lassen würde :confused:


    Muss gestehen habe noch nicht einmal Hello World ausprobiert :rolleyes:


    Gruss Jamel

    I`m not a perfect person. I make a lot of mistakes....
    :o But still, I love those people who stay with me after knowing how I really am. :o


    Problem gelöst? Dann bitte auch die Lösung posten und Beitrag auf [gelöst] setzen.


    Im aufgerufenen Thema siehst Du oben den Satz "Dieses Thema als [GELÖST] markieren.
    Nach Anklicken wird das Thema auf gelöst gesetzt und der Satz verschwindet.

    4 Mal editiert, zuletzt von Jamel ()

  • Hatte ich schon erwähnt, dass ich von PHP so gut wie keine Ahnung habe?


    Ok, in dem einen Fall (Produkt) wird einer Variable $yagendooImageTag ein komplettes Tag zugewiesen, in der Kategorie steht nur HTML mit eingeflechtetem PHP, um die Attribute für src, title und alt anzugeben. Da scheint die Syntax für die Produktseite anders zu sein. Grrr.


    Deshalb muss dann wohl auch die Syntax in der default.php für die Produkte anders sein.


    <img src="'.$this->YagProduct->images[0]->urlFullsize.'" alt="" class="product-image" />
    würde ich ändern in
    <img src="'.$this->YagProduct->images[0]->urlFullsize.'" alt="'.$this->YagProduct->images[0]->title.'" class="product-image" />
    wenn das title noch hinein soll:
    <img src="'.$this->YagProduct->images[0]->urlFullsize.'" alt="'.$this->YagProduct->images[0]->title.'" title="'.$this->YagProduct->images[0]->name.'" class="product-image" />


    Dann sieht das alles ziemlich stimmig aus, bitte auf die " und die ' achten, die stehen da hintereinander und sind wichtig. Verschachtelte Anführungszeichen: "'
    Ich hab das alles mit Kopieren und Einfügen gemacht, dann kann nicht viel passieren.
    So, bevor Du nun etwas Dummes tust, weil ich Dir etwas Dummes geschrieben habe, sichere Deine Dateien, bevor Du die Änderungen machst, und dann versuch es. Wenn es nicht klappt, einfach die alte default.php wieder zurück kopieren, dann ist alles wie vorher.


    Im Übrigen habe ich mir angewöhnt, von Zeit zu Zeit, beim Herumspielen öfter, ein komplettes Backup von der Homepage beim Provider anzulegen. Backup on the Fly, jeder Provider hat da so seine eigene Sprache, glaube ich.


    In diesem Fall wird nicht viel passieren, wenn man irgendwo irgendwelche PHP-Befehle vergessen hat oder nicht geschlossen hat, wird schlimmstenfalls einfach nichts mehr angezeigt, weil die PHP-Verarbeitung anhält. Wenn die alte Datei wieder drin ist, läuft alles normal weiter.


    Trotzdem, ein volles Backup ist immer gut zu haben, Dateien und Datenbank.


    Mit frischem Backup kann man immer mutig ausprobieren. ;-)


    Ich bin aber fast überzeugt, dass es so funktionieren wird.


    Hope it helps
    Stefan

  • ThÄnX werde ich heute oder morgen Abend gleich mal ausprobieren :cool:


    Gruss Jamel

    I`m not a perfect person. I make a lot of mistakes....
    :o But still, I love those people who stay with me after knowing how I really am. :o


    Problem gelöst? Dann bitte auch die Lösung posten und Beitrag auf [gelöst] setzen.


    Im aufgerufenen Thema siehst Du oben den Satz "Dieses Thema als [GELÖST] markieren.
    Nach Anklicken wird das Thema auf gelöst gesetzt und der Satz verschwindet.

  • Hallo Stefan


    habe deine Lösungsansatz so eingefügt wie du beschrieben hast, aber leider nicht das gewünschte Ergebnis.


    Ermutigt von deinem " Einfach probieren " habe ich dann festgestellt, dass das Produktbild seltsamer weise das featuredProductImage ist und hab dort das gleiche eingegeben, aber auch vergeblich.


    Dann habe ich folgendes eingegeben: echo


    <img class="featuredProductImage" src="<?php echo $YagProduct->images[0]->urlThumb; ?>" alt="<?php echo $YagProduct->name; ?>" title="<?php echo $YagProduct->name; ?>" /></a>


    Siehe da es hat funktioniert :cool:


    Weiss halt nicht ob das sauber ist, aber zumindest zeigt es keine Fehler auf?? :rolleyes:


    Dann dachte ich - juhu nur noch bei den Produktdetails das Gleiche machen und fertig.


    Leider zu früh gefreut :mad:


    Als ich dann aber aus $YagProduct->name; ?>" $YagProduct->title; ?>" gemacht habe hat alles funktioniert :cool:


    Wobei mir beim Schreiben gerade auffällt, dass ich deinen Lösungsansatz nochmal probier und dort name mit title tausche!


    Nochmals grosse ThÄnX und ich werd jetzt wohl mal mit Hello World anfangen :o


    Gruss Jamel



    Nachtrag: Habs probiert. Funktioniert auch mit deiner Lösung wenn ich name mit title ändere :cool:


    Und ab zum nächsten Problem :p

    I`m not a perfect person. I make a lot of mistakes....
    :o But still, I love those people who stay with me after knowing how I really am. :o


    Problem gelöst? Dann bitte auch die Lösung posten und Beitrag auf [gelöst] setzen.


    Im aufgerufenen Thema siehst Du oben den Satz "Dieses Thema als [GELÖST] markieren.
    Nach Anklicken wird das Thema auf gelöst gesetzt und der Satz verschwindet.

    7 Mal editiert, zuletzt von Jamel () aus folgendem Grund: Nachtrag