Setzen Sie den Standardwert für alle Produkte auf ein benutzerdefiniertes Attribut


7

Ich habe das custom attribute (test)für Produkte als Textfeld mit default value('test')aus dem Admin-Bereich erstellt

Und dieses Attribut dem Standardattributsatz zugewiesen.

Jetzt kann ich das neue benutzerdefinierte Attribut auf der Produktbearbeitungsseite sehen.

Wenn ich versuche, mit der Produktkollektion zu filtern

Mage::getModel('catalog/product')->getCollection()
       ->addAttributeToSelect('*')
       ->addAttributeToFilter('test', array('like' => 'test'))->getData();

Es gibt das leere Array zurück.

Meine Frage ist :

Gibt es eine Möglichkeit, den Standardwert über das Installationsskript auf Attribute festzulegen?

Warum ist der Standardwert nicht auf dieses Attribut festgelegt?

Gibt es eine Möglichkeit, die Standardwerte für alle Produkte hinzuzufügen? Ich habe mehr als 10.000 Produkte in meinem Geschäft.

Hinweis :

Ich möchte nicht die gesamte Produktkollektion laden und für jedes Produkt einen Wert festlegen.

Antworten:


11

Sie könnten so etwas versuchen. Ich glaube, dass die folgende Methode ziemlich effizient ist.

$attrData = array(
    'attribute_code_here'=> 'Default Value Here',
);
$storeId = 0;
$productIds = Mage::getModel('catalog/product')->getCollection()->getAllIds();
Mage::getModel("catalog/product_action")->updateAttributes(
    $productIds, 
    $attrData, 
    $storeId
);

@ Marius Ich bin ein großer Fan. Danke für die positive Bewertung :)
NathanielR

Gibt es eine Möglichkeit, diesen Wert im Installationsskript oder in der Datei config.xml festzulegen?
Saravanavelu

@Marius Ich baue eine neue Erweiterung. Also werde ich dieses Attribut über das Installationsskript erstellen. Ist es möglich, diesen Standardwert im Installationsprogramm scritp festzulegen?
Saravanavelu

@saravanavelu Sie können sich Datenskripte ansehen oder Ihr Attribut über das Installationsprogramm erstellen und dann das Snippet als eigenständiges Skript ausführen
NathanielR

Müssen Sie während der Installation des Moduls die Attribute aktualisieren? Ist dies ohne eigenständiges Skript möglich?
Saravanavelu
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.