- Học nghệ thuật đầu tư dựa trên giá trị.
- Kinh nghiệm đầu tư thành công.

Được tạo bởi Blogger.

Thứ Sáu, 22 tháng 8, 2014

Contacts Page - Thêm một Static Block vào trang liên hệ trong Magento


Đây là một ví dụ cụ thể giúp bạn dễ hiểu, sau khi nắm được phương pháp thì bạn có thể áp dụng nó trên nhiều trang khác nhau.

Bước 1: Tạo Stactic Block cần chèn vào trang contacts  với Identifier: block_contact_top
- Đăng nhập backend Magento.
- Vào CMS => Static Block => Add New Block ( Tạo Block mới)
- Chọn phạm vi áp dụng cho Block trong Store View ( để default nếu muốn áp dụng cho tất cả )
- Đặt tên cho Block trong Title, Identifier là "block_contact_top"
- Phần nội dung content: nhập nội dung HTML ví dụ: <p> Đây là Static Block xuất hiện đầu trang Contacts </p>
- Sau đó Save Block

Bước 2: Khai báo Block trên với module Contact trong app/design/frontend/fortis/default/layout => file contacts.xml.
Tìm đến handle <contact_index_index> </contact_index_index> khai báo code bên trong, ngay trước </contact_index_index> như sau:
<contact_index_index>
....
<reference name="contactForm">
        <block type="cms/block" name="block_contact_top" before="-">
               <action method="setBlockId"><block_id>block_contact_top</block_id></action>
       </block>
</reference>
</contact_index_index>

Tham chiếu đến Block cha tên contacForm, bên trong block cha này khai báo 1 block mới là Static Block type="cms/block" có tên tham chiếu là name="block_contact_top", và nội dung của Static Block này là Static Block đã tạo ra ở bước 1. ( cứ đặt block id và block name trùng nhau cho dễ nhớ ).

Bước 3: Để Block block_contact_top xuất hiện ở Frontend, cần gọi nó trong file template của module contacts tại app/design/frontend/fortis/default/template/contacts => file form.phtml

<div id="messages_product_view"><?php echo $this->getMessagesBlock()->getGroupedHtml() ?></div>
<div class="page-title">
    <h1><?php echo Mage::helper('contacts')->__('Contact Us') ?></h1>
</div>
 <?php echo $this->getChildHtml('block_contact_top') ?>
<form action="<?php echo $this->getFormAction(); ?>" id="contactForm" method="post">
    <div class="fieldset">
        <h2 class="legend"><?php echo Mage::helper('contacts')->__('Contact Information') ?></h2>
        <ul class="form-list">

Gọi Block bằng dòng code màu đỏ bên trên tại vị trí cần Block xuất hiện trên trang Contact nhé !
Refresh trang Contacts ngoài Frontend sẽ thấy kết quả. Chúc bạn thành công !
Mở rộng: Có thể thêm một Static Block khác ngay bên dưới Contact Form trong trang Contact, tạm gọi Static Block này là block_contact_map. Bên trong ta nhúng bãn đồ google map vào dưới dang thẻ
<iframe></iframe> tham khảo bài viết cách nhúng bản đồ google maps vào Static Block của Magento

0 nhận xét:

Đăng nhận xét