páginas de pago de tematización en el comercio Drupal

16

¿Cómo tema el carrito y las páginas de pago en Drupal commerce? He configurado contenido, cuenta, facturación y partes de pago. ¿Hay algún archivo -. Tpl.php para crear?

Badri
fuente
Si pudiera ser más específico sobre qué aspectos del carrito de compra y pago que está tratando de cambiar y cuál desea que sea su resultado final, ayudará a otros a proporcionarle una respuesta más útil.
sheena_d
¡Tratando un problema similar aquí! Esperaba usar hook_form_alter () para modificar el marcado. En el mejor de los casos, obtengo un campo de "datos" que ya se representa como una tabla. Uno esperaría que fuera posible actuar sobre los elementos del formulario antes de que se procesen ... Todavía buscando ...
PatrickS

Respuestas:

14

Para la página del carrito de temas, agregue page--cart.tpl.phpen el directorio de plantillas de su tema.

Para la página de pago, agregue page--checkout.tpl.phpen el directorio de plantillas de su tema. Si desea crear un tema solo en la página de revisión de pago, agregue el page--checkout--review.tpl.phpdirectorio de plantillas.

Después de agregar archivos tpl, no olvide borrar el caché.

Si desea conocer más ganchos, realice una función dpm($variables)interna YOURTHEMENAME_preprocess_pagey mire dentro de la theme_hook_suggestionsmatriz.

Para más detalles lea este comentario http://drupal.org/node/1142800#comment-5365466

subhojit777
fuente
Esto me ayudó mucho, pero como esta pregunta no es mía, solo puedo dar un pulgar hacia arriba :)
RajeevK
8

Los únicos archivos de plantilla en Commerce relacionados con el módulo de pago son commerce-checkout-errors-message.tpl.php y commerce-checkout-help.tpl.php. Estos se encuentran en el directorio del módulo de Comercio en modules / checkout / theme.

El único archivo de plantilla relacionado con el módulo Cart es commerce-cart-block.tpl.php, que se encuentra en el directorio del módulo Commerce en modules / cart / theme.

sheena_d
fuente
5

En realidad, la forma más fácil que creo es usar hook_form_FORM_ID_alter () para alterar el formulario de pago. Si todo lo que necesita es cambiar la parte dentro del formulario de pago.

Como veo, la mayor parte del contenido de la página de pago y revisión de pago está dentro del formulario. Primero es ' commerce_checkout_form_checkout ', y segundo es ' commerce_checkout_form_review '. Si sabe cómo utilizar el formulario API y cómo modificar el formulario mediante hook_form_FORM_ID_alter (). Será muy fácil alterar el contenido del formulario. Como reordenarlos o insertar / eliminar elementos.

Aquí hay un ejemplo simple para agregar un aviso en la página de pago:

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
fuente
3

También puede usar las clases de cuerpo (dependiendo del tema base que use, estas están a menudo disponibles) Esto le permite dar valores específicos a elementos secundarios del cuerpo con la clase .checkout, por ejemplo. Esto podría ser suficiente para mover un poco el diseño.

Alex C
fuente
2

¿Has probado el módulo Theme Develper que te da información sobre qué ganchos de tema implementar y qué archivos de plantilla adoptar?

gilzero
fuente
2

La página del carrito es solo una vista, así que dale estilo como cualquier otra vista:

  1. Vaya a la página cuando haya iniciado sesión como administrador, busque y haga clic en el enlace "Editar vista".

  2. En la página de edición de vista, abra la configuración de vista "Avanzada" y haga clic en "Información temática"

  3. Allí puede ver cómo debe nombrar sus plantillas (es decir, vistas-vista - commerce-cart-summary - default.tpl.php) y también si está en el nombre de la plantilla al comienzo de la fila (es decir, primero es "Mostrar salida" puede ver la plantilla predeterminada, copiarla, guardarla con otro nombre en el directorio de plantilla de su tema y modificarla como desee).

  4. O bien, puede crear esas páginas (vistas) por su cuenta. http://www.drupalcommerce.org/user-guide/modifying-shopping-cart-using-views

usuario2870349
fuente
2

Puede crear sus propios archivos .tpl y llamarlos con una función 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 se trata de formularios, puede ocultar el formulario, encontrar lo que necesita y usar su propio marcado en su plantilla.

<?php
  hide($form);
  dpm($form);
?>

<div>
  print render($form[...]);
</div>

O bien, puede dejarlo como está y hacer cosas a su alrededor.

mlaroy
fuente