Showing posts with label Static Block. Show all posts
Showing posts with label Static Block. Show all posts

23 September 2014

Static block - Thêm trực tiếp một Static Block vào một file template .phtml trong Magento

Thêm Static Block thông qua Identifier trực tiếp vào templates (.phtml)
<?php echo $this->getLayout() ->createBlock('cms/block') 
->setBlockId('your_block_id')->toHtml(); ?>

Code chèn Static Block vào Static Block khác hay một CMS Page :
{{block type="cms/block" block_id="your_block_id"}}

Static Block - Cách chèn một static block vào CMS page trong Magento

Tạo Static Block: 
CMS => Static Blocks => Add New Block.
Ví dụ Block mới tạo có Identifier là: your_block_id

Chèn Static Block vào một trang CMS Pages:
{{block type="cms/block" block_id="your_block_id"}}

16 September 2014

Static Block - Gọi một Static block và đặt vào một trang CMS page trong magento

Trong phần content của một trang CMS page bất kỳ. Gọi một Static block thông qua Identifier của nó theo cú pháp sau đây:

{{block type="cms/block" block_id="block_identifier"}}

Muốn xác định Block Identifier:
Bước 1: Vào phần quản trị Admin hay Backend của Magento
Bước 2: Truy cập menu CMS => Static Block. Trong trang Static Block hiện ra sẽ thấy Identifier ( cột thứ 2 ).

23 August 2014

Statitc Block - Gọi một Statitc Block từ các nơi khác nhau trong Magento

A. Gọi một Static Block trong file Template .phtml
Bước 1: Tạo 1 Static Block trong Backend Của Magento, có Identifier: new_static_block_in_magento
Bước 2: Trong template file .phtml bất kỳ. Gọi Static Block vừa tạo trong bước 1  theo code sau:

Cách 1: 

<?php 
$layout = Mage::getSingleton ('core/layout'); // Khởi tạo đối tượng Layout // 
$block = $layout->createBlock('cms/block'); // Khởi tạo đối tượng Static Block từ đối tượng Layout //
$block->setBlockId ('new_static_block_in_magento'); // Gán Block ID cho đối tượng Static Blick // 
echo $block->toHtml(); // Ghi Static Block ra màng hình //
?> 

Cách 2: ( Đây là cách viết tắt của cách 1 mà thôi )
<?php echo $this->getLayout()->createBlock('cms/block')->setBlockId('footer_links')->toHtml();?> 

B. Gọi một Static Block trong file Layout .xml
<block type="cms/block" name="'new_static_block_in_magento">
<action setBlockId ('new_static_block_in_magento')> </action>
</block>
<block type="page/switch" name="store_switcher_stop" as="store_switcher_top" template="page/switch/stores-top.phtml"/>

type="": loại block khai báo là gì => tham khảo thêm Liệt kê một số loại Block thường sử dụng trong Magento
name / as : tên của block, dùng để gọi block, tham chiếu đến block. => Phân biệt giữa nameas của Block.
template: template là file .phtml mà block sử dung để thể hiện nội dung của nó.





22 August 2014

Static Block - Cách nhúng bản đồ google maps vào Static Block của Magento

Bước 1: Truy cập bản đồ google maps trực tuyến tại http://maps.google.com.
Bước 2: Tìm khu vực bản đồ cần tìm thông qua thanh địa chỉ sau đây:
Nhập số nhà, đường, phường, xã, thị trấn, thành phố, tỉnh thành, Việt Nam vào ô trên. Bấm nút search.
Bước 3: Kéo thả phóng to thu nhỏ bản đồ sau cho nhì thấy rõ nhất trên màng hình. Sử dung thanh công cụ có sẵn trong cửa sổ.
Bước 4: Sau khi chọn khu vực vừa ý, ban tiến hành copy code ifram nhúng vào Static block trên Magento như sau:
- Vào Icon hình bánh răng => click sẽ xuất hiện một menu con => chọn share and embed map.
- Một cửa sổ mới xuất hiện, bạn chon Tab Embed map, chọn kích thước bản đồ cần nhúng
+ small : nhỏ
+ Medium: vừa
+ Large: rông
+ Custom size: tùy chỉnh dài, rộng.
Bước 5: Copy đoạn code trong ô sau, có dang là thẻ tag <iframe>...</iframe>
Code này dùng để cop vào Static Block của Magento sau:
Chúc bạn thành công !

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

20 August 2014

Block - Hiển thị danh sách các sản phẩm trong một Category có ID bất kỳ

Trong phần content của một Static Block bất kỳ, copy đoạn code sau đây:

{{block type="catalog/product_list" name="product_list" category_id="3" column_count="6" count="6" limit="4" mode="grid" template="catalog/product/list.phtml"}}

Chú thích:
name="product_list": tên của khối sản phẩm cần hiển thị, thay đổi tùy ý.
category_id="3": ID của category cần lấy các sản phẩm bên trong.
column_count="6": Số cột
count="6": tổng sản phẩm cần hiển thị
limit="4":
mode="grid": chọn grid / list

Mở rộng 
Bạn có thể hiển thị nhiều sản phẩm trong nhiều danh mục sản phẩm Category khác nhau trong một Static Block như sau:

<h2>First Category</h2> 
{{block type="catalog/product_list" name="product_list" category_id="1" column_count="6" count="6" limit="4" mode="grid" template="catalog/product/custom_list.phtml"}}

<h2>Second Category</h2> 
{{block type="catalog/product_list" name="product_list" category_id="2" column_count="6" count="6" limit="4" mode="grid" template="catalog/product/custom_list.phtml"}}

<h2>Third Category</h2> {{block type="catalog/product_list" name="product_list" category_id="2" column_count="6" count="6" limit="4" mode="grid" template="catalog/product/custom_list.phtml"}}