Tenho um novo emprego, onde trabalho estritamente no Magento todos os dias agora. Eu não tenho experiência anterior com Magento, por isso tem sido um desafio para dizer o mínimo até agora!
Deixe-me explicar brevemente a extensão que estamos construindo.
Isso nos permitirá mostrar uma janela pop-up / modal. O conteúdo HTML do Modal será armazenado em
umStatic Block
PÁGINA DE ADMINISTRAÇÃO
Portanto, o painel do administrador consiste em uma nova guia em System/Confuration/
NEW TAB
O painel do administrador permite que você selecione em uma lista suspensa nessa NOVA PÁGINA o padrão Static Block
a ser usado para essas seções ...
HOME PAGE
ou HOME PAGE w/Items in Shopping Cart
ALL CATEGORY PAGES
ou ALL CATEGORY PAGES w/Items in Shopping Cart
ALL PRODUCTS PAGES
ou ALL PRODUCTS PAGES w/Items in Shopping Cart
ALL CMS PAGES
ou ALL CMS PAGES w/Items in Shopping Cart
SHOPPING CART PAGE
ou SHOPPING CART PAGE w/Items in Shopping Cart
SOBRECARGA PADRÃO
Em seguida, as páginas reais CMS , CATEGORY e PRODUCT permitem as mesmas configurações que a página do Painel do administrador, exceto que permitem definir STATIC BLOCK
uma por item e substituir a configuração padrão que tínhamos nas configurações de administrador acima .
Até agora, temos o lado do administrador da extensão concluído. Temos todas as guias de administração de cada seção ... produto, categoria, CMS e página de configuração.
O próximo passo será adicionar a mesma extensão e Static Block
inserir na página. Isso Static Block
será responsável por ... Mostrar o correto Static Block
em cada página com base nas configurações definidas nas áreas mencionadas acima .....
- Determinando a página em que estamos e o tipo de página (cms, produto, página inicial, categoria)
- Em seguida, ele terá que ler todas as configurações personalizadas definidas nas áreas mencionadas acima.
- Se for determinado que estamos em uma
Category
página, teremos que obter a categoria específica específica em que estamos. Por exemploCategory 3
. Veremos então se há uma configuração específica para essa categoria específica. Se estiver escritoEnabled
, procuraremos o queStatic Block
está salvo para essa categoria e o mostraremos em nossaStatic Block
página principal ! - Se a categoria específica acima estiver definida como
Disabled
a nossaModal Window
, procuraremos mais nas configurações globais do Modal e veremos se um Modal está ativado para todas as categorias. Se sim, veremos o queStatic Block
está definido para ser mostrado para todas as categorias. - Além de tudo isso, ele fará esse processo para cada um dos tipos de página principal (produto, categorias, cms, home, carrinho)
- Também teremos que verificar se o carrinho de compras está vazio ou não. SE não estiver vazio ... teremos que levar isso em consideração acima quando estivermos verificando o que
Static Block
mostrar para essa página, pois cada configuração permite que umStatic Block
seja definido para o carrinho vazio e 1 para o carrinho não vazio! (Eu sei que essa é uma tarefa enorme e difícil, mas temos o lado do administrador feito principalmente. Só precisamos fazer a parte que leva tudo isso em consideração na determinação de qualStatic Block
exibição em qual página específica.
Então, para me colocar na direção certa, tenho algumas perguntas menores ...
- Como posso dentro do meu
Static Block
código (a parte PHP) determinar em qual TIPO de PAGE estou. Como mencionei, preciso saber se estou em ... PÁGINA INICIAL , PÁGINA CMS , PÁGINA DE CATEGORIA , PÁGINA DE PRODUTO ou PÁGINA DE CARRINHO DE COMPRAS ? - Além do TIPO DE PÁGINA , preciso obter a página real. Portanto, se eu estiver na identificação do produto 1234 , preciso obter a configuração (bloco estático definido para essa página) para essa página específica.
Eu sei que este foi um post longo e possivelmente confuso. Se você chegou até aqui, obrigado por dedicar um tempo para ler isso =)
Se você puder ajudar com minha pergunta, cada pedacinho me aproximará do objetivo final
Abaixo está um fluxograma que eu fiz de como meu módulo precisará trabalhar para determinar qual bloco estático inserir na página
Mage_Widget
? Eu preciso olhar para isso também
Mage_Widget
módulo, certo?