ชุดรูปแบบหน้าเช็คเอาต์ใน Drupal Commerce


16

ฉันจะจัดหน้ารถเข็นและชำระเงินใน Drupal commerce ได้อย่างไร ฉันได้ตั้งค่าเนื้อหาบัญชีการเรียกเก็บเงินและการชำระเงิน มีไฟล์ -. tpl.php ที่จะสร้างหรือไม่?


หากคุณมีความเฉพาะเจาะจงมากขึ้นเกี่ยวกับแง่มุมของรถเข็นพาณิชย์และเช็คเอาต์ที่คุณพยายามจะเปลี่ยนแปลงและสิ่งที่คุณต้องการให้ผลลัพธ์สุดท้ายของคุณจะช่วยผู้อื่นในการให้คำตอบที่เป็นประโยชน์กับคุณมากขึ้น
sheena_d

จัดการกับปัญหาที่คล้ายกันที่นี่! ฉันหวังว่าจะใช้ hook_form_alter () เพื่อแก้ไขมาร์กอัพ ที่ดีที่สุดฉันได้รับฟิลด์ "ข้อมูล" ซึ่งแสดงผลเป็นตารางแล้ว ใครจะหวังว่ามันจะเป็นไปได้ที่จะดำเนินการกับองค์ประกอบของแบบฟอร์มก่อนที่พวกเขาจะได้รับการแสดงผล ... ยังคงค้นหา ...
PatrickS

คำตอบ:


14

สำหรับหน้ารถเข็นpage--cart.tpl.phpธีมเพิ่มในไดเรกทอรีแม่แบบของชุดรูปแบบของคุณ

สำหรับหน้าเช็คเอาต์ชุดรูปแบบให้เพิ่มpage--checkout.tpl.phpในไดเรกทอรีแม่แบบของธีมของคุณ หากคุณต้องการธีมเฉพาะหน้าตรวจสอบการชำระเงินเพิ่มpage--checkout--review.tpl.phpในไดเรกทอรีแม่แบบ

หลังจากเพิ่มไฟล์ tpl อย่าลืมล้างแคช

หากคุณต้องการทราบเกี่ยวกับ hooks มากขึ้นให้ทำหน้าที่dpm($variables)ภายในYOURTHEMENAME_preprocess_pageและมองเข้าไปในtheme_hook_suggestionsอาร์เรย์

สำหรับรายละเอียดอ่านความคิดเห็นนี้http://drupal.org/node/1142800#comment-5365466


นี้ช่วยให้ฉันมาก แต่เป็นคำถามนี้ไม่ใช่ของฉันฉันจะให้เพียงหนึ่งนิ้วหัวแม่มือขึ้น :)
RajeevK

8

เทมเพลตไฟล์เดียวใน Commerce ที่เกี่ยวข้องกับโมดูลการชำระเงินคือ commerce-checkout-errors-message.tpl.php และ commerce-checkout-help.tpl.php เหล่านี้จะอยู่ในไดเรกทอรีโมดูลพาณิชย์ภายใต้ modules / checkout / theme

ไฟล์เทมเพลตเดียวที่เกี่ยวข้องกับโมดูลรถเข็นคือ commerce-cart-block.tpl.php ซึ่งอยู่ในไดเรกทอรีโมดูลพาณิชย์ภายใต้โมดูล / รถเข็น / ธีม


5

จริง ๆ แล้ววิธีที่ง่ายที่สุดที่ฉันคิดคือใช้hook_form_FORM_ID_alter ()เพื่อเปลี่ยนแบบฟอร์มการชำระเงิน หากคุณต้องการเพียงแค่เปลี่ยนส่วนในแบบฟอร์มการชำระเงิน

อย่างที่ฉันเห็นเนื้อหาของหน้าการตรวจสอบการชำระเงินและเช็คเอาต์ส่วนใหญ่อยู่ในแบบฟอร์ม อันดับแรกคือ ' commerce_checkout_form_checkout ' และที่สองคือ ' commerce_checkout_form_review ' หากคุณรู้วิธีใช้ฟอร์ม API และวิธีแก้ไขฟอร์มโดยใช้ hook_form_FORM_ID_alter () นั่นจะง่ายมากในการเปลี่ยนแปลงเนื้อหาของฟอร์ม ชอบจัดลำดับใหม่หรือแทรก / ลบองค์ประกอบ

นี่คือตัวอย่างง่ายๆสำหรับการเพิ่มการแจ้งเตือนในหน้าเช็คเอาต์:

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

}

3

คุณยังสามารถใช้คลาสร่างกาย (ขึ้นอยู่กับว่าคุณใช้ชุดรูปแบบพื้นฐานเหล่านี้มักจะมี) สิ่งนี้อนุญาตให้คุณกำหนดค่าเฉพาะให้กับไอเท็มลูกของเนื้อความที่มีคลาส. checkout ตัวอย่างเช่น นี่อาจจะเพียงพอที่จะทำให้รูปแบบเล็ก ๆ น้อย ๆ จิ๊ก


2

คุณลองใช้โมดูลTheme Develperซึ่งให้ข้อมูลเกี่ยวกับการใช้ชุดรูปแบบที่จะนำไปใช้และไฟล์ใดที่จะใช้


2

หน้ารถเข็นเป็นเพียงมุมมองดังนั้นจัดสไตล์เป็นมุมมองอื่น:

  1. ไปที่หน้าเมื่อคุณเข้าสู่ระบบในฐานะผู้ดูแลระบบค้นหาและคลิกลิงก์ "แก้ไขมุมมอง"

  2. เมื่อดูหน้าแก้ไขเปิดการตั้งค่ามุมมอง "ขั้นสูง" และคลิกที่ "ข้อมูลชุดข้อมูล"

  3. คุณสามารถดูว่าคุณควรตั้งชื่อเทมเพลตของคุณอย่างไร (เช่นมุมมอง - การค้า - รถเข็น - สรุป - default.tpl.php) และถ้าคุณอยู่ที่ชื่อเทมเพลตที่จุดเริ่มต้นของแถว (เช่นแรกคือ "แสดงผลลัพธ์" คุณสามารถเห็นเทมเพลตเริ่มต้นคัดลอกบันทึกด้วยชื่ออื่นในเทมเพลตของธีมของคุณและแก้ไขตามที่คุณต้องการ)

  4. หรือคุณสามารถสร้างหน้าเหล่านั้น (มุมมอง) ด้วยตัวคุณเอง http://www.drupalcommerce.org/user-guide/modifying-shopping-cart-using-views


2

คุณสามารถสร้างไฟล์. tpl ของคุณเองและเรียกใช้ด้วยฟังก์ชั่น 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)
}

เนื่องจากฟอร์มเหล่านี้คุณสามารถซ่อนฟอร์มค้นหาสิ่งที่คุณต้องการและใช้มาร์กอัปของคุณเองในเทมเพลตของคุณ

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

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

หรือคุณสามารถทิ้งมันไว้และทำสิ่งรอบ ๆ มัน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.