Giter Site home page Giter Site logo

Comments (10)

refueledinc avatar refueledinc commented on June 16, 2024

Just to update this issue, I found that removing the store column from the CSV results in the products being updated correctly. However, we have a magento multistore setup, so this issue is still problematic for us. Any ideas as to the issue?

from magmi-git.

dweeves avatar dweeves commented on June 16, 2024

1 . I suppose your color attribute is a dropdown or a multiselect

In Magento , Attribute values for dropdown/multiselect are not bound to items, they are bound to attributes themselves.

All items will share the same value list , but each different item will store only a reference on the one(s) they use in the list.

Then attibutes have a scope (meaning that values can be associated to a given store or be available for all stores)

All this is configured Magento side, at the attribute level.

Magmi only reads the attribute metadata & imports according on scope & existing values.

If you want to present different values on different stores for the same multiselect/select attribute, you need to define attribute scope to "store view".

Then, if you want values to be removed from existing "shared" value list , magmi has utility plugins one of which is able to remove "orphan" values (ie values that are not used by any existing product)

from magmi-git.

refueledinc avatar refueledinc commented on June 16, 2024

@dweeves thanks for the response. Maybe I don't understand what you mean but let me see if I can be a bit more clear with my example.

I have a product named product 100. This product is in store1. This product has a color of blue|green (2 colors - using multiselect).

When I want to change the colors for product 100 in store1 I update blue|green to have the values of red|orange and import the new CSV. Currently, this produces a color selection of blue|green|red|orange, when it should not associate colors blue|green with product 100 but only colors red|orange.

I noticed that this issue is not only for multiselect or, in my case, the color field. I've also noticed this happens for other fields too.

For example, if I have a product named product 500 in store2 and I want to change it to store3, after import of the CSV with the change, Magento shows product 500 in store2 and store3 rather than just store 3.

Is that more clear or maybe I just don't understand your response?

from magmi-git.

dweeves avatar dweeves commented on June 16, 2024

Ok, so i'll elaborate:

1st import:
blue|green are created if not existing into color available "value list" . (independently from item 100 , since magento binds only "current values" to items for multiselect, Magmi binds the `blue&green``values from the "color" attribute value list to``item 100``.

2nd import:
red|orange are created if not existing into color available value list (independently from item 100) . So the "value list" for color has indeed 4 values now. Magmi binds the red and orange values from the "color" attribute value list to item 100

The reason is the one i explained earlier : value list for a select or multiselect attribute are "shared" by store (or globally depending on attribute scope) among all items having this attribute. This is how MAGENTO (not magmi) works, magmi only manipulates the magento data model a bit more efficiently using direct SQL and enabling "on the fly" value creation for select/multiselects.

Then , if no other product has blue nor green,and you are sure they will never be used , you might use the magmi "Custom SQL" advanced utility to apply the "remove orphan option values" script to remove the blue & green (and all other unused values) from the the available color list.

My guess is you misused magento datamodel, you'd rather create configurable products, using color as a pivot field , and define one product for each color; then magento will check "color" availablity based on stock of child products.

Another option for "per item" color availability would be to use "custom options" , which magmi is able to import.

But my guess is that "standard" attribute is not the right tool for you to express your need.

For "store" assignation, magmi is not currently able to change product "store scope", it can only set values for the store scope you set (ie : it only relies on CSV input data).

So importing item 500 in store 2 , then put item 500 with store 3 in a secondary import only tells :

First import : i want item 500 in store 2
Second import: i want item 500 in store 3

A then end of the 2 imports, magmi did what you told : putting item 500 in store 2, then in store 3. and it ends in both stores.

There is ,no easy way of distinguishing "add it in store 2, add it in store 3" from "move it from store 2 to store 3". i may enhance magmi to support "reset_store" column to force store reassigment however. this may be a good suggestion

from magmi-git.

refueledinc avatar refueledinc commented on June 16, 2024

I'm sorry, this is a custom attribute, not a standard attribute built into magento, its code is color_2 with global scope.

Am I correct is stating that Magmi doesn't work in such a way as magento's replace existing complex data import option? The option in magento's importer does exactly what I need, except it doesn't accept pipe delimited values.

from magmi-git.

dweeves avatar dweeves commented on June 16, 2024

custom attribute <> custom option.

custom option is a "per item" specific field. custom attribute is a attribute defined by the user and is "somehow" what i call a "standard attribute" in term of magento & magmi processing.

So as i said, attributes values for "select/multiselect" are shared by default among all items. Magmi has no "replace" default behaviour since it's a very peculiar need.

If you want "per item" color choice, then you'd better use configurable items with subitems having their own color choice. doing this, you'll be able to filter based on subitem stock availabliity.

Other possible choice is "custom option" (not attribute), which is a "per item" custom field , in the latter case, magmi redefines the option list for a custom option each time.

The behaviour you want to have is a bit weird. it would replace all possible "color" values FOR ALL ITEMS for each new imported item.

Say :

Item 1 , color : blue,green
Item 2 , color, red,yellow

With "reset" behaviour, you'll end with item 1 possible color choice reset to "red, yellow" (forgetting the initial blue green" since the blue,green,red, yellow values are bound to "color" INDEPENDENTLY from item. resetting them would reset them for all other items with a color attribute.

from magmi-git.

ValerieS avatar ValerieS commented on June 16, 2024

I am trying to append via MAGMI and I am having an issue with one field not changing. I use a shipping program that calcuates the box for the item to fit in. It is a multiple select global attribute. ARe you saying that I cannot change this field with MAGMI? I am able to change it with the regular import tool but it takes forever and would love to use MAGMI. right now, I cannot get it to change at all. I have even just put one item in the field (as opposed to multi) and still no change
any help would be appreciated

from magmi-git.

dweeves avatar dweeves commented on June 16, 2024

Currently , magmi handle only "standard" multiselect attributes. It seems
that many extensions define multiselect atrributes using their own storage
model that is quite different from magento standard option storage.

To make it short : magento uses a double indirection storage for
select/multiselect option, defining the attribute itself has an int and
using xxx_option_value table to make the mapping.
Magmi handle those natively.

However, some extension use a "simpler" storage model, defining the storage
directly as varchar, thus "fooling" magmi . i'll may add some code to
"detect" those attributes & test they are supported or not, but fill their
value is another story since each extension may define its own storage
model.

I plan to have soon enhancements on select/multiselect processing in magmi,
since some issues have been reported on other aspects like translation of
configurable attributes.

thanks for spotting this.

2014-11-06 17:33 GMT+01:00 ValerieS [email protected]:

I am trying to append via MAGMI and I am having an issue with one field
not changing. I use a shipping program that calcuates the box for the item
to fit in. It is a multiple select global attribute. ARe you saying that I
cannot change this field with MAGMI? I am able to change it with the
regular import tool but it takes forever and would love to use MAGMI. right
now, I cannot get it to change at all. I have even just put one item in the
field (as opposed to multi) and still no change
any help would be appreciated


Reply to this email directly or view it on GitHub
#20 (comment).

from magmi-git.

ValerieS avatar ValerieS commented on June 16, 2024

Thank you for responding! I really love MAGMI and would love to use it
all the time. Guess I have to go back to the SLOW painful way of
importing product. Any idea when the select/multiselect attribute
processing might be available?
Is there anyway around this problem? Can I put the double direction in
the field (you can tell I have no idea what I am talking about, right
;) )??

Val
On 11/6/14, 11:39 AM, Sebastien Bracquemont wrote:

Currently , magmi handle only "standard" multiselect attributes. It seems
that many extensions define multiselect atrributes using their own
storage
model that is quite different from magento standard option storage.

To make it short : magento uses a double indirection storage for
select/multiselect option, defining the attribute itself has an int and
using xxx_option_value table to make the mapping.
Magmi handle those natively.

However, some extension use a "simpler" storage model, defining the
storage
directly as varchar, thus "fooling" magmi . i'll may add some code to
"detect" those attributes & test they are supported or not, but fill
their
value is another story since each extension may define its own storage
model.

I plan to have soon enhancements on select/multiselect processing in
magmi,
since some issues have been reported on other aspects like translation of
configurable attributes.

thanks for spotting this.

2014-11-06 17:33 GMT+01:00 ValerieS [email protected]:

I am trying to append via MAGMI and I am having an issue with one field
not changing. I use a shipping program that calcuates the box for
the item
to fit in. It is a multiple select global attribute. ARe you saying
that I
cannot change this field with MAGMI? I am able to change it with the
regular import tool but it takes forever and would love to use
MAGMI. right
now, I cannot get it to change at all. I have even just put one item
in the
field (as opposed to multi) and still no change
any help would be appreciated


Reply to this email directly or view it on GitHub
#20 (comment).


Reply to this email directly or view it on GitHub
#20 (comment).

from magmi-git.

ValerieS avatar ValerieS commented on June 16, 2024

What is an example of a "Standard" multiselect attribute?

from magmi-git.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.