páginas de checkout com temas no comércio Drupal

16

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?

Badri
fonte
Se você puder ser mais específico sobre quais aspectos do carrinho e checkout do Commerce você está tentando alterar e qual deseja que seja o resultado final, isso ajudará outras pessoas a fornecer uma resposta mais útil.
sheena_d 27/12/11
Lidando com um problema semelhante aqui! Eu esperava usar hook_form_alter () para modificar a marcação. Na melhor das hipóteses, recebo um campo "dados" que já é renderizado como uma tabela. Seria de esperar que seria possível agir sobre os elementos de formulário antes de serem prestados ... Ainda à procura ...
Patricks

Respostas:

14

Para a página de carrinho de temas, adicione page--cart.tpl.phpo diretório de modelos do seu tema.

Para a página de checkout de temas, adicione page--checkout.tpl.phpo 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.phpdiretó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_pagee examine a theme_hook_suggestionsmatriz.

Para detalhes, leia este comentário http://drupal.org/node/1142800#comment-5365466

subhojit777
fonte
Isso me ajudou muito, mas como esta pergunta não é minha, eu posso dar apenas um polegar para cima :)
RajeevK
8

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.

sheena_d
fonte
5

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 ...

}
Tim Yao
fonte
3

Você também pode usar as classes do corpo (dependendo do tema base usado, elas geralmente estão disponíveis). Isso permite que você forneça valores específicos para itens filhos do corpo com a classe .checkout, por exemplo. Isso pode ser suficiente para mover o layout um pouco.

Alex C
fonte
2

Você já experimentou o módulo Theme Developper , que fornece informações sobre quais ganchos de tema implementam e quais arquivos de modelo adotar.

Gilzero
fonte
2

A página do carrinho é apenas uma visualização, portanto, estilize-a como qualquer outra visualização:

  1. Vá para a página quando estiver logado como administrador, localize e clique no link "Editar visualização".

  2. Na página de edição, abra as configurações de exibição "Avançadas" e clique em "Informações sobre temas"

  3. 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).

  4. Ou você pode criar essas páginas (visualizações) por conta própria. http://www.drupalcommerce.org/user-guide/modifying-shopping-cart-using-views

user2870349
fonte
2

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.

Mlaroy
fonte