Frage

Okay, ich versuche, mit meinem Modul ein Feld zur Registrierung hinzuzufügen. Offensichtlich muss ich ein Attribut hinzufügen. Mein "Installationskript" ist also wirklich nur ein Upgrade der Kundeneinheit. Das Modul ist jedoch aktiviert, und wenn ich das Front -End aktualisiere, wird mein Installationsskript nicht ausgeführt. Ich habe einen Würfel an die Vorderseite gestellt, um zu sehen, ob es überhaupt ihn schlägt und nicht.

Ich habe über 7 andere Fragen zum Stapelüberlauf überprüft und jeder der Fehler war ziemlich offensichtlich. Dinge wie die Konfiguration, die nicht dem Ordner entspricht, in dem er sich befand. Verwenden Sie Customer_Setup als Name. Fehler in der Setup -Datei. Immer wieder habe ich meinen Code angesehen und weiß, dass mir etwas Kleines fehlt. Ein Tippfehler irgendwo ..... aber ich habe jetzt zu viel Zeit verschwendet, also geben ich es Ihnen, großartige Leute.

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/Modell/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";

Update: Ich entschuldige mich für den Tippfehler. Das Skript befindet sich in BlizzardLabs_Customer_Setup

CODE_RESource -Tabelle:

+-------------------------------------+---------+
| 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   |
+-------------------------------------+---------+
War es hilfreich?

Lösung

Ich denke blizzardlabs_customer_setup. Genau wie der Name Ihres XML -Tags in der <resources> Schild. Der Weg sollte also sein BlizzardLabs/Customer/sql/blizzardlabs_customer_setup/mysql4-install-0.1.0.php. Bevor Sie es erneut mit dem geänderten Pfad ausprobieren, stellen Sie sicher, dass Sie den Datensatz aus der Tabelle löschen core_resource mit dem Code blizzardlabs_customer_setup und den Cache löschen.
Off -Thema. Wenn Sie mit Magento EE 1.12 arbeiten, können Sie das verlieren mysql4 im Skriptnamen installieren. Du kannst es schaffen install-0.1.0.php. Aber es ist nicht so wichtig. Es funktioniert in beide Richtungen.

BEARBEITEN
Ich habe versucht, Ihr Skript auszuführen. Ich habe die Dateien so erstellt, wie Sie beschrieben haben. Das einzige, was ich hinzugefügt habe, war die Modulerklärungsdatei: app/etc/modules/BlizzardLabs_Customer.xml mit diesem Inhalt.

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

Und alles hat perfekt funktioniert. Stellen Sie sicher, dass Sie den Cache gelöscht haben. Stellen Sie sicher, dass die lokalen Module nicht deaktiviert sind (in app/etc/local.xml Dieses Tag ist auf false eingestellt <disable_local_modules>false</disable_local_modules>). Das ist alles, woran ich denken kann.

Andere Tipps

Ich dachte, ich sollte das Richtige tun und dies posten. Wenn ich in der Tabelle "core_resource" in der Datenbank schaue, kann ich bereits a sehen customer_setup Eintrag, der vom Magento -Kern stammt.

Ich vermute, dass Sie deshalb nicht verwenden können blizzardlabs_customer_setup Nichts mit 2 Unterstrichen zu tun. Eine der Überprüfungen nach dem Ausführen der Installation, wenn Sie sie in der Tabelle "core_resource" nicht sehen können anything_customer_setup_g

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit magento.stackexchange
scroll top