Shopware

Bei manchen Providern kann, nachdem die Dateien erfolgreich hochgeleden und entpackt oder schon entpackt hochgeladen wurden, der installer nicht aufgerufen werden. Es erscheint diese oder ähnliche Fehlermeldung:

ERROR
Shopware muß noch konfiguriert werden. Bitte rufen Sie den Installer auf!

Auch der Klick auf dem Link der hinter dem Wort Installer liegt hilft hier nicht weiter da sich hier nur der Pfad in der Adresszeile ändert bzw. mit "recovery/install" verlängert wird.

Hier hilft einfach ein index.php per Hand einzugeben (MEINEDOMAIN/recovery/install/index.php).

 

Shopware Files hochgeladen und entpackt dann beim ersten Aufruf erscheint ein 500er Server Fehler...

Meistens liegt das an dem RewriteBase in der htacces die ist vermutlich auskommentiert und sieht so aus

# RewriteBase /shopware

 Möglicherweise muss auch der Pfad auf / angepasst werden.

Kann man anschließend den Installer nicht aufrufen, hilft dieser Hinweis

In Shopware 4 waren alle Produktbilder in media/image. In Shopware 5 wurden die Bilder in Unterordner verschoben.

So erhält man den Pfad dazu:

Einen Bilderpfad erhält man z.B. über diesen Select

private function getImageUrl($detail)
{
  // [fh] 20161017-112100 - This function returns the image url of the first image as a return value.
     $articleDetailID = $detail->getId();
     $articleID = $detail->getArticleId();

  $query = "SELECT s_media.path, rel.option_id,  
                       s_articles_img.position as pos,
                       s_articles_img.description as description,
                       s_articles_img_attributes.attribute1 as imageCaption
            FROM s_media 
            JOIN s_articles_img 
              ON s_articles_img.media_id = s_media.id OR s_media.name = s_articles_img.img
            JOIN s_article_img_mappings 
              ON s_article_img_mappings.image_id = s_articles_img.id 
            JOIN s_article_img_mapping_rules 
              ON s_article_img_mapping_rules.mapping_id = s_article_img_mappings.id 
            JOIN s_article_configurator_option_relations as rel
              ON rel.option_id = s_article_img_mapping_rules.option_id
            JOIN s_articles_img_attributes
              ON s_articles_img_attributes.imageID = s_articles_img.id
            WHERE rel.article_id = '$articleDetailID' 
            AND s_articles_img.articleID ='$articleID'
            AND rel.option_id != 82
            GROUP BY path
            ORDER BY pos";

  $result = Shopware()->DB()->fetchAll($query);
  $path = $result[0]['path'];
  return $path;
}

 Funktionsaufruf: 

$imageUrlOld = $this->getImageUrl($article);

Ausgegeben würde der Pfad ($imageUrlOld) so ähnlich: media/image/3477.jpg

Oder alle Thumbnails über die Shopware Methoden und das Artikel Objekt:

if($article) {
  $imagesArrayCollection = $article->getArticle()->getImages();
  if($imagesArrayCollection) {
    $images = $imagesArrayCollection->first();
    if($images) {
      $media = $images->getMedia();
      if($media){
        $articleImages = $images->getMedia()->getThumbnails();
      }
    }
  }
}

Jetzt muss der Pfad (oder die Pfade bei den Thumbnails) umgewandelt werden:

$mediaService = Shopware()->Container()->get('shopware_media.media_service');
$imageFullUrl = $mediaService->getUrl($imageUrlOld);

Ausgegeben würde dieser Pfad ($imageFullUrl) so ähnlich: https://shopware.4uweb.de/media/image/ba/98/da/3477.jpg

Um z.B. für ein PDF einen Serverpfad zu generieren hilft dies:

$protocol = empty($_SERVER['HTTPS']) ? 'http' : 'https';
$domain = $_SERVER['SERVER_NAME'];
$root = $_SERVER['DOCUMENT_ROOT'];
$url = $protocol.'://'.$domain;
$imageUrl = str_replace($url, $root, $imageFullUrl);

Ausgegeben würde dieser Pfad ($imageUrl) so ähnlich: /var/www/fvhg/test.forum-verlag.com/media/image/ba/98/da/3477.jpg

in

 templates/reponsive/frontend/index/search.tpl

maxlength="30"

erhöhen