2

私はmagento 1.7.0.2を持っていますが、データベースにデータを追加しようとしています。しかし、私はエラーが発生します:

Notice: Undefined variable: this in /var/www/vhosts/xxx/mysql4-install-0.1.0.php on line 10 Fatal error: Class 'Mage_Eav_Model_Entity_Setup' not found in /var/www/vhosts/xxx/mysql4-install-0.1.0.php on line 3

以下は、データベースにデータを追加しようとする php ファイルの一部です。

<?php
$installer = $this;
$setup = new Mage_Eav_Model_Entity_Setup('core_setup');
$installer->startSetup();

/**
 * Adding Different Attributes
 */

// adding attribute group
$setup->addAttributeGroup('catalog_product', 'Default', 'Video', 1000);

$setup->addAttribute('catalog_product', 'videobox', array(
    'group'         => 'Video',
    'input'         => 'textarea',
    'type'          => 'text',
    'label'         => 'Youtube video url',
    'backend'       => '',
    'visible'       => 1,
    'required'      => 0,
    'user_defined' => 1,
    'searchable' => 0,
    'filterable' => 0,
    'comparable'    => 0,
    'visible_on_front' => 1,
    'visible_in_advanced_search'  => 0,
    'is_html_allowed_on_front' => 0,
    'global'        => Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_GLOBAL,
));

これはどのように修正できますか?前もって感謝します!

更新: ファイルは動作します。動作するかどうかを確認するために、追加のコードを追加しました。

<?php

require_once('app/Mage.php'); //Path to Magento
umask(0);
Mage::app(); // Change default to whatever store you want to run

echo "it's worked!";

?>

エラーが 1 行下に移動しました。

Fatal error: Call to a member function startSetup() on a non-object in /var/www/vhosts/xxx/mysql4-install-0.1.0.php on line 4
4

2 に答える 2

0

問題は、mage ディレクトリにクラスが見つからない可能性があります。慎重に mage.php を含めると、問題が確実に解決されます。

$mageFilename = $_SERVER['DOCUMENT_ROOT'] . '/magento/app/Mage.php';

これを使って。それは私のために働いた。

DOCUMENT_ROOTコードが配置されているベース ディレクトリを表すサーバー変数です。

于 2013-08-29T12:07:49.763 に答える