como tema as páginas de carrinho e check-out no comércio Drupal? Defina o conteúdo, a conta, o faturamento e as peças de pagamento. Existe algum arquivo -. Tpl.php a ser criado?
como tema as páginas de carrinho e check-out no comércio Drupal? Defina o conteúdo, a conta, o faturamento e as peças de pagamento. Existe algum arquivo -. Tpl.php a ser criado?
Respostas:
Para a página de carrinho de temas, adicione page--cart.tpl.php
o diretório de modelos do seu tema.
Para a página de checkout de temas, adicione page--checkout.tpl.php
o diretório de modelos do seu tema. Se você deseja colocar o tema apenas na página de revisão do checkout, adicione o page--checkout--review.tpl.php
diretório de modelos.
Depois de adicionar os arquivos tpl, não esqueça de limpar o cache.
Se você quiser saber sobre mais ganchos, faça uma função dpm($variables)
interna YOURTHEMENAME_preprocess_page
e examine a theme_hook_suggestions
matriz.
Para detalhes, leia este comentário http://drupal.org/node/1142800#comment-5365466
Os únicos arquivos de modelo no Commerce relacionados ao módulo de checkout são commerce-checkout-errors-message.tpl.php e commerce-checkout-help.tpl.php. Eles estão localizados no diretório do módulo Commerce, em modules / checkout / theme.
O único arquivo de modelo relacionado ao módulo Cart é o commerce-cart-block.tpl.php, localizado no diretório do módulo Commerce, em modules / cart / theme.
Na verdade, a maneira mais fácil que eu acho é usar hook_form_FORM_ID_alter () para alterar o formulário de checkout. Se tudo o que você precisa é mudar apenas a peça no formulário de pagamento.
A meu ver, a maior parte do conteúdo da página de checkout e checkout está dentro do formulário. Primeiro é ' commerce_checkout_form_checkout ' e o segundo é ' commerce_checkout_form_review '. Se você sabe como usar a API do formulário e como alterar o formulário usando hook_form_FORM_ID_alter (). Isso será muito fácil de alterar o conteúdo do formulário. Como reordená-los ou inserir / remover elementos.
Aqui está um exemplo simples para adicionar um aviso à página de checkout:
function my_module_form_commerce_checkout_form_alter(&$form, &$form_state, $form_id) {
//If you have Devel module, uncomment to see what is the original form data
//kpr($form);
//uncomment to see current form_id
//echo $form_id;
//check form id
if($form_id == 'commerce_checkout_form'){
$form['my_test_notice'] = array(
'#markup' => '<h1>Hello, this is a checkout test!</h1>',
'#weight' => -1,
);
}
elseif($form_id == 'commerce_checkout_form_review'){
$form['my_test_notice'] = array(
'#markup' => '<h1>Hello, this is a checkout review test!</h1>',
'#weight' => -1,
);
}
//You can add more ...
}
Você já experimentou o módulo Theme Developper , que fornece informações sobre quais ganchos de tema implementam e quais arquivos de modelo adotar.
A página do carrinho é apenas uma visualização, portanto, estilize-a como qualquer outra visualização:
Vá para a página quando estiver logado como administrador, localize e clique no link "Editar visualização".
Na página de edição, abra as configurações de exibição "Avançadas" e clique em "Informações sobre temas"
Lá você pode ver como deve nomear seus modelos (por exemplo, visualizações - exibição - resumo do carrinho de comércio - default.tpl.php) e também se você estiver no nome do modelo no início da linha (por exemplo, primeiro é "Exibir saída" você pode ver o modelo padrão, copiá-lo, salvar com outro nome no diretório de modelos do seu tema e modificá-lo como desejar).
Ou você pode criar essas páginas (visualizações) por conta própria. http://www.drupalcommerce.org/user-guide/modifying-shopping-cart-using-views
Você pode criar seus próprios arquivos .tpl e chamá-los com uma função hook_theme:
function yourtheme_theme(&$existing, $type, $theme, $path) {
return array(
'commerce_cart_add_to_cart_form'=> array(
'render element' => 'form',
'template' => 'path/to/template/commerce_cart_add_to_cart_form',
),
'commerce_checkout_form_review'=> array(
'render element' => 'form',
'template' => 'path/to/template/commerce_checkout_form_review',
),
...
...(more templates)
}
Como esses são formulários, você pode ocultar o formulário, encontrar o que precisa e usar sua própria marcação no seu modelo.
<?php
hide($form);
dpm($form);
?>
<div>
print render($form[...]);
</div>
Ou, você pode deixá-lo como está e fazer coisas a seu redor.