1

Prestashop 1.5.4.1 のオンライン ショップがあり、スクリプトを使用して製品やその他のデータを更新したいと考えています。これはスクリプトです(関連部分):

define('_PS_ADMIN_DIR_', getcwd());
include(_PS_ADMIN_DIR_.'/../config/config.inc.php');
include(_PS_ADMIN_DIR_.'/functions.php');
include_once '../controllers/admin/AdminImportController.php';

$import = New AdminImportControllerCore();
switch($_GET['entity']) {
    case 0:
        loadCategoriesPost();
        $import->categoryImport();
        break;
    case 1:
        loadProductsPost();
        $import->productImport();
        break;
    ...
}

function loadCategoriesPost() {
    ...
}

function loadProductsPost() {
    ...
}

$import->productImport() を呼び出すと、次のエラーが発生します。

PHP Fatal error:  Cannot redeclare class AdminImportControllerCore in /var/www/shop/controllers/admin/AdminImportController.php

誰でも私を助けることができますか?CSV データをインポートするためにこれよりも良い方法はありますか (Prestashop 管理パネルからインポート ツールを使用しないでください)? 私はこの時点で立ち往生しています。

ありがとう!!

4

1 に答える 1

0

まず、presta のコントローラーまたはクラスを含めないでください。それらは自動ロードされます。2 番目に、接尾辞付きのクラスを呼び出さないでください。「コア」を削除してください。3 番目に、上記のようにコントローラーのインスタンスを使用するのをやめてください。コードを作成する必要があります。コントローラーではなくクラスのインスタンスを取得するため、インポートが必要な場合は、 $import->categoryImport(); にあるコードを確認してください。メソッドを使用すると、コントローラーなしで実行できることがわかります (または表示されません)。

よろしく、私の英語でごめんなさい

于 2014-04-05T07:04:27.363 に答える