Tenho produtos configurados de forma idêntica (pelo que sei) e todos foram importados com um modelo CSV universal.
- O preço configurável é 29,99
- O produto simples associado de manga curta é 29,99
- A manga comprida do produto simples associado é 39,99
Recentemente, uma fatura faturou um produto de manga comprida ( ZTWS-SBLS-XL ) que tem um preço de 39,99 com o preço configurável do produto de 29,99. Como forçar o preço simples do produto a substituir o preço configurável do produto? Ambos os produtos abaixo são configurados de forma idêntica ao produto configurável pai e como produtos simples.
Fatura:
Item Sku Qty Subtotal
Item one ZLOB-SBLS-XL 1 $39.99
Item Two ZTWS-SBLS-XL 1 $29.99
Edição: Ainda trabalhando para resolver isso. O que faria com que o Magento preferisse o preço simples do produto ao preço configurável ou ao atributo do produto associado?
Respostas:
Quando você cria um produto configurável, não importa qual é o preço de produtos simples - esses preços são completamente ignorados. Portanto, se você deseja vender um produto simples A com preço de US $ 29,99 e um produto simples B (US $ 39,99), crie um produto configurável, defina seu preço como US $ 29,99 e abra a guia Produto associado . Adicione produtos que você deseja associar a este produto configurável. Após adicioná-los, aparece um bloco chamado Configuração dos atributos do super produto, que contém opções e diferenças de preço. Deixe o preço do produto A vazio e coloque 10 (+ $ 10) no campo de preço do produto B e pronto: diferentes produtos simples têm preços diferentes.
Na verdade, existe uma extensão que permite usar preços simples de produtos em vez de diferenças de preço, mas é um pouco complicado de configurar. Como é uma extensão gratuita, espero que ninguém se queixe de colar o link aqui:
https://github.com/organicinternet/magento-configurable-simple
fonte
Então, eu uso o código abaixo em combinação com uma extensão como produtos configuráveis simples da Internet orgânica.
O código abaixo destina-se ao processo de carrinho / caixa, essencialmente, é uma atualização do modelo de preço configurável que passa o cálculo de preço para um produto simples, caso o produto tenha sido adicionado ao carrinho --- esta solução NÃO exibe preços na própria página do produto (no entanto, existem muitas extensões que já fazem isso).
Atualize app / code / core / Mage / Catalog / Model / Product / Type / Configurable / Price.php (o ideal é usar uma extensão ou substituição local em app / code / local)
Atualize o método: getFinalPrice, altere para
Em seguida, adicione esta função logo abaixo de getFinalPrice:
Você pode ver, se o usuário "personalizou" o produto (IE, opções configuráveis selecionadas), determinamos o produto simples associado e passamos o controle ao seu modelo de precificação, caso contrário, se o produto não for "personalizado" (IE, navegamos na página do produto), procedemos normalmente
fonte
Usando o Magento Versão 1.9.2.2
Pode ser uma solução um pouco melhor, use a abordagem 'Observer' em vez de invadir o núcleo ou mesmo substituir a classe padrão do Preço do Modelo, por exemplo, app / code / core / Mage / Catalog / Model / Product / Type / Configurable / Price.php
Tudo o que você precisa fazer é usar o código de Alan no seu recém-criado Observador, a única diferença é que, em vez de retornar
Substitua-o pelo seguinte:
Siga este Observer.php
Config.xml
Espero que resolva o problema .. :)
fonte
Se os produtos simples tiverem preços diferentes, mas estiverem configurados com relação ao produto configurável sem uma configuração de preço, fixa ou percentual, o preço do produto configurável será calculado. Independentemente de quais produtos simples sejam comprados, seu preço não parece ser levado em consideração.
Para atualizar isso, basta acessar o produto pai na seção admin e, na guia,
Associated Products
você pode atualizar o preço de cada produto filho para adicionar um preço adicional ao preço dos produtos pais.fonte
Também estou tendo o mesmo problema e resolvi usando o código abaixo. Também funcionará no lado do administrador se você solicitar do administrador (por ordem telefônica)
Observe este evento,
e adicione o código abaixo no seu Observer.php
Ele receberá o preço do produto associado e será salvo na cotação.
fonte
$item->setOriginalCustomPrice($sprice);
e$item->setOriginalPrice($price);
, que permite vários itens configuráveis que apontam para o mesmo produto, no carrinho, com preços diferentes.Siga as etapas abaixo para alterar o preço do super atributo
Observadores do primeiro uso "catalog_product_get_final_price". Faça observadores assim:
Abra seu módulo config.xml e use o código abaixo:
Agora crie o arquivo Observer.php no modelo e no código abaixo abaixo
Agora abra app / design / frontend / default / yourtheme / template / catalog / product / view / type / options / configurable.phtml e cole o código abaixo em qualquer lugar do arquivo
Agora abra js / varien / configurable.js e altere a função reloadPrice conforme abaixo ou você pode substituir toda esta função
Código Retirado de: http://chandreshrana.blogspot.in/2016/03/set-simple-product-price-instead-of.html
fonte