Magento не будет запускать сценарий установки клиента

magento.stackexchange https://magento.stackexchange.com/questions/3191

Вопрос

Итак, я пытаюсь добавить поле в регистрацию с моим модулем. Очевидно, я должен добавить атрибут. Таким образом, мой «установка сценария» на самом деле является просто обновлением для субъекта клиента. Тем не менее, модуль включен, и все же, когда я обновляю передний конец, он не запускает мой сценарий установки. Я положил кубик спереди, чтобы увидеть, ударил ли он даже его, а это нет.

Я проверил около 7 других вопросов переполнения стека, и каждая из ошибок была довольно вопиющей. Такие вещи, как конфигурация, не соответствующая папке, в которой он находился. Использование customer_setup в качестве имени. Ошибки в файле настройки. Снова и снова я смотрел на свой код, и я знаю, что упускаю что -то маленькое. Некоторая опечатка где -то ... но я сейчас потратил впустую слишком много времени, поэтому я передаю это вам, великим людям.

Config.xml

<config>
    <modules>
        <BlizzardLabs_Customer>
            <version>0.1.0</version>
        </BlizzardLabs_Customer>
    </modules>
    <global>
        <fieldsets>
            <customer_account>
                <flavour>
                  <create>1</create>
                  <update>1</update>
                </flavour>
            </customer_account>
        </fieldsets>
        <resources>
            <blizzardlabs_customer_setup>
                <setup>
                    <module>BlizzardLabs_Customer</module>
                    <class>BlizzardLabs_Customer_Model_Entity_Setup</class>
                </setup>
            </blizzardlabs_customer_setup>
        </resources>
    </global>
</config>

Blizzardlabs/Customer/Model/Entity/setup.php

class BlizzardLabs_Customer_Model_Entity_Setup extends Mage_Customer_Model_Entity_Setup {

  public function getDefaultEntities() {
    $entities = parent::getDefaultEntities();

    // Add flavour to customer attributes
    $entities['customer']['attributes']['flavour'] = array(
        'label' => 'Ice Cream Flavour',
        'visible' => true,
        'required' => true,
    );

    return $entities;
  }

}

Blizzardlabs/Customer/SQL/Blizzardlabs_customer_setup/mysql4-install-0.1.0.php

Mage::log('Installing BlizzardLabs_Customer');

$installer = $this;
$installer->startSetup();
$installer->addAttribute('customer', 'flavour', array(
    'label' => 'Ice Cream Flavour',
    'type' => 'varchar',
    'input' => 'text',
    'visible' => true,
    'required' => true,
    'position' => 1,
));

$attrs = array('flavour');

foreach ($attrs as $item) {
  $attr = Mage::getSingleton('eav/config')->getAttribute('customer', $item);
  $attr->setData('used_in_forms', array('adminhtml_customer','customer_account_edit','customer_account_create'))->save();
}

$installer->endSetup();

echo "information added to database";

ОБНОВЛЕНИЕ: Прошу прощения за опечатку. Скрипт в Blizzardlabs_customer_setup

Таблица code_resource:

+-------------------------------------+---------+
| code                                | version |
+-------------------------------------+---------+
| adminnotification_setup             | 1.0.0   |
| admin_setup                         | 0.7.1   |
| amazonpayments_setup                | 0.1.2   |
| api_setup                           | 0.8.1   |
| backup_setup                        | 0.7.0   |
| bundle_setup                        | 0.1.8   |
| catalogindex_setup                  | 0.7.10  |
| cataloginventory_setup              | 0.7.5   |
| catalogrule_setup                   | 0.7.7   |
| catalogsearch_setup                 | 0.7.6   |
| catalog_setup                       | 0.7.69  |
| checkout_setup                      | 0.9.3   |
| chronopay_setup                     | 0.1.0   |
| cms_setup                           | 0.7.8   |
| compiler_setup                      | 0.1.0   |
| contacts_setup                      | 0.8.0   |
| core_setup                          | 0.8.13  |
| cron_setup                          | 0.7.1   |
| customer_setup                      | 0.8.11  |
| cybermut_setup                      | 0.1.0   |
| cybersource_setup                   | 0.7.0   |
| dataflow_setup                      | 0.7.4   |
| directory_setup                     | 0.8.5   |
| downloadable_setup                  | 0.1.15  |
| eav_setup                           | 0.7.13  |
| enterprise_admingws_setup           | 0.0.1   |
| enterprise_catalogevent_setup       | 0.0.4   |
| enterprise_catalogpermissions_setup | 0.0.6   |
| enterprise_customerbalance_setup    | 0.0.10  |
| enterprise_enterprise_setup         | 0.0.1   |
| enterprise_giftcardaccount_setup    | 0.0.12  |
| enterprise_giftcard_setup           | 0.0.8   |
| enterprise_invitation_setup         | 0.0.3   |
| enterprise_logging_setup            | 0.1.8   |
| enterprise_pci_setup                | 0.0.3   |
| enterprise_staging_setup            | 0.1.10  |
| enterprise_websiterestriction_setup | 0.0.1   |
| eway_setup                          | 0.1.0   |
| flo2cash_setup                      | 0.1.1   |
| giftmessage_setup                   | 0.7.2   |
| googleanalytics_setup               | 0.1.0   |
| googlebase_setup                    | 0.1.1   |
| googlecheckout_setup                | 0.7.3   |
| googleoptimizer_setup               | 0.1.2   |
| ideal_setup                         | 0.1.0   |
| log_setup                           | 0.7.6   |
| newsletter_setup                    | 0.8.0   |
| oscommerce_setup                    | 0.8.10  |
| paybox_setup                        | 0.1.3   |
| paygate_setup                       | 0.7.0   |
| payment_setup                       | 0.7.0   |
| paypaluk_setup                      | 0.7.0   |
| paypal_setup                        | 0.7.2   |
| poll_setup                          | 0.7.2   |
| productalert_setup                  | 0.7.2   |
| protx_setup                         | 0.1.0   |
| rating_setup                        | 0.7.2   |
| reports_setup                       | 0.7.7   |
| review_setup                        | 0.7.4   |
| salesrule_setup                     | 0.7.7   |
| sales_setup                         | 0.9.38  |
| sendfriend_setup                    | 0.7.2   |
| shipping_setup                      | 0.7.0   |
| sitemap_setup                       | 0.7.2   |
| strikeiron_setup                    | 0.9.1   |
| tag_setup                           | 0.7.2   |
| tax_setup                           | 0.7.8   |
| usa_setup                           | 0.7.0   |
| weee_setup                          | 0.13    |
| wishlist_setup                      | 0.7.4   |
+-------------------------------------+---------+
Это было полезно?

Решение

Я думаю, что вам нужно добавить MySQL4-Install-0.1.0.php в папку под названием blizzardlabs_customer_setup. Анкет Точно так же, как имя вашего XML -тега внутри <resources> ярлык. Так что путь должен быть BlizzardLabs/Customer/sql/blizzardlabs_customer_setup/mysql4-install-0.1.0.php. Анкет Прежде чем попробовать его снова с помощью модифицированного пути, убедитесь, что вы удалите запись из таблицы core_resource с кодом blizzardlabs_customer_setup и очистить кеш.
Не по теме. Если вы работаете с Magento EE 1.12, вы можете потерять mysql4 В названии сценария установки. Ты это можешь install-0.1.0.php. Анкет Но это не так важно. Это работает в обоих направлениях.

РЕДАКТИРОВАТЬ
Я проверил попытку запустить ваш сценарий. Я создал файлы, как вы описали. Единственное, что я добавил, был файл объявления модуля: app/etc/modules/BlizzardLabs_Customer.xml с этим контентом.

<?xml version="1.0"?>
<config>
    <modules>
        <BlizzardLabs_Customer>
            <active>true</active>
            <codePool>local</codePool>
            <depends>
                <Mage_Customer />
            </depends>
        </BlizzardLabs_Customer>
    </modules>
</config>

И все сработало отлично. Убедитесь, что вы очистили кеш. Убедитесь, что локальные модули не отключены (в app/etc/local.xml Этот тег установлен на false <disable_local_modules>false</disable_local_modules>) Это все, о чем я могу думать.

Другие советы

Думал, что я должен поступить правильно и опубликовать это. Посмотрев в таблице "core_resource" в базе данных, я уже вижу customer_setup Вход, который из Magento Core.

Я предполагаю, что именно поэтому вы не можете использовать blizzardlabs_customer_setup Не связано с 2 подчеркиванием. Таким образом, одна из проверок после запуска установки, если вы не видите ее в таблице "core_resource", чтобы гарантировать, что вы не использовали ничего, что могло бы противоречить уже существующим записям, например, anything_customer_setup_грамм

Лицензировано под: CC-BY-SA с атрибуция
Не связан с magento.stackexchange
scroll top