public function LoadByName(&$oArticle, $sInternalName)
    {
        $bLoaded = false;
        $this->oArticle = &$oArticle;
        $this->oImageSize = TdbShopArticleImageSize::GetNewInstance();
        /** @var $oImageSize TdbShopArticleImageSize */
        if ($this->oImageSize->LoadFromField('name_internal', $sInternalName)) {
            if ($this->LoadFromFields(array('shop_article_id' => $oArticle->id, 'shop_article_image_size_id' => $this->oImageSize->id))) {
                $bLoaded = true;
            } else {
                $oPrimaryImage = $oArticle->GetPrimaryImage();
                /** @var $oPrimaryImage TdbShopArticleImage */
                if (!is_null($oPrimaryImage)) {
                    $aData = array('cms_media_id' => $oPrimaryImage->sqlData['cms_media_id'], 'shop_article_image_size_id' => $this->oImageSize->id, 'shop_article_id' => $oArticle->id);
                    $this->LoadFromRow($aData);
                    $bLoaded = true;
                }
            }
        }

        return $bLoaded;
    }