Shopware

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

Awesome-Fonts in Shopware einzubinden funktionierte erst mit Hindernissen.