1

私はプレスタショップを持っています。IMPORTOSCモジュールを使用してデータをインポートします。

すべてがうまく機能し、スペースが含まれている画像のみを発行します。名前はprestashopにインポートされていません。(URLのスペース)

カテゴリインポートのコード:

public function getCategories($limit = 0, $nrb_import = 100) {
        $multiLangFields = array('name', 'link_rewrite');
        $keyLanguage = 'id_lang';
        $identifier = 'id_category';

        $categories = $this->ExecuteS('
                                    SELECT c.categories_id as id_category, c.parent_id as id_parent, 0 as level_depth, cd.language_id as id_lang, cd.categories_name as name , 1 as active, categories_image as images
                                    FROM `'.bqSQL($this->prefix).'categories` c 
                                    LEFT JOIN `'.bqSQL($this->prefix).'categories_description` cd ON (c.categories_id = cd.categories_id)
                                    WHERE cd.categories_name IS NOT NULL AND cd.language_id IS NOT NULL
                                    ORDER BY c.categories_id, cd.language_id
                                    LIMIT '.(int)($limit).' , '.(int)$nrb_import);
        foreach($categories as& $cat)
        {
            $cat['link_rewrite'] = Tools::link_rewrite($cat['name']);
            $cat['images'] = array(Tools::getProtocol().Tools::getValue('shop_url').'/images/'.$cat['images']);
        }
        return $this->autoFormat($categories, $identifier, $keyLanguage, $multiLangFields);
    }

検索したところ、str_replace(''、'%20'、trim($ url))で修正される可能性があります。

誰かがコードを手伝ってくれませんか。

4

1 に答える 1

0

の代わりにstr_replace()を使用しますurlencode()(詳細については、PHP のマニュアルを参照してください)。このurlencode()関数は、「-」と「_」以外のすべての非アルファベット文字を適切にエンコードします。

于 2011-11-01T18:11:17.753 に答える