- 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

SEO - Rút gọn đường dẫn trong Magento



Viết Sau

Bạn muốn khi click và link các category hoặc link sản phẩm của magento không có đuôi .html thì config như sau:

  1. Go to System -> Config -> Catalog -> Search Engine Optimizations tab
  2. Delete “.html” from Category URL Suffix và Delete “.html” from Product URL Suffix..
  3. Go to System->Index Management
  4. Reindex “Catalog URL Rewrites”
  5. Refresh cache.

Debug - Cách bật tempate paths hints, log và hiển thị lỗi trong magento


  • Turn on Template Path Hints
  • Turn on error/system logging
  • Turn on SQL logging
  • Display PHP errors
1. Bật Template Path Hints:
Nếu các bạn muốn xem 1 block nó có đường dẫn trong template như thế nào, và file phtml nó sử dụng là file nào thì các bạn có thể bật Template Path Hints để xem. Cách bật như sau:
Bước 1: Login admin
Bước 2: Goto => System => Configuration, phía bên trái chọn tab “Developer”
Bước 3: Chọn Template Path Hints => check yes.
Lưu ý phần “Current Configuration Scope:” ở bên trái chọn ở mức store view thì sau đó mới nhìn thấy Template Path Hints. Sau đó xóa cache và ra ngoài frontend các bạn sẽ biết được đường dẫn đến các khối block. Hoặc bạn cũng có thể chọn “Add Block Names to Hints” để nhìn thấy các class model tương ứng cho block...

2. Bật error/system logging:
Login admin vào System => Configuration chọn tab “Developer”. Log Settings tab và Enabled = Yes.
Khi đó bạn sẽ thấy 1 file ghi ra các lỗi trong system.log, xem file này tại trong /var/log/system.log

3. Display PHP errors
Cách này dùng phát hiện các lỗi php, bạn mở file index.php tìm dòng:
#ini_set('display_errors', 1); thay đổi thành ini_set('display_errors', 1);
Sau đó Login admin vào => System => Configuration chọn tab “Developer” phần Tab Debug phần "Profiler" chọn "Yes".

4. Turn on SQL logging
- Tìm lib/Varien/Db/Adapter/Pdo/Mysql.php dòng 45 : 
protected $_debug = false; => thay đổi thành
protected $_debug = true;
Khi có lỗi sql sẽ tạo trong file var/debug/sql.txt

Code - Các hàm lấy đường dẫn URL trong Magento trong file template .phtml


A. Các hàm get Url magento sử dụng trong file template .phtml

1. Get Base Url magento:
Mage::getBaseUrl();

2. Get Magento Skin Url magento:
Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_SKIN);

3. Get Media Url magento:
Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA);

4. Get Js Url magento:
Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_JS);

5. Get Store Url magento:
Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB);

6. Get Current Url magento:
Mage::helper('core/url')->getCurrentUrl();

7. Get Home Url magento :
Mage::helper('core/url')->getHomeUrl();

B. Các hàm Get Url magento trong CMS Pages hoặc Static Block:

1. Get Base Url magento :
{{store url=""}}

2. Get Skin Url magento:
{{skin url='images/imagename.jpg'}}

3. Get Media Url magento :
{{media url='/imagename.jpg'}}

4. Get Store Url magento :
{{store url='mypage.html'}}

Products - Tạo block Grid hay List chứa danh sách các sản phẩm cần lọc trong Magento



////////////////////////////// Built Up Some Collection Of Products /////////////////////////// // Collection 1: $products = Mage::getResourceModel('catalog/product_collection') ->addAttributeToSelect('*') ->addAttributeToFilter('status', 1); ////////////////////////////// Built Up Some Collections Product End /////////////////////////// // Create Block List Of Product Base On Collections Above $block = Mage::getSingleton('core/layout')->createBlock('catalog/product_list') ->setTemplate('catalog/product/list.phtml') ->setCollection($products); // Write To Html Format to send to browser: echo $block->toHtml();

Backend - Thay đổi đường dẫn vào trang Backend của Magento


Bước 1: Đăng nhập Backend Magento, mở file local.xml theo đường dẫn sau.
app/etc/local.xml


Bước 2: Tìm đến đoạn code sau đây:
<frontName><![CDATA[admin]]></frontName>
=> Đường dẫn vào trang admin hiện tại là: http://www.domain-name.xxx/admin
Thay đổi đoạn code trên thành:
<frontName><![CDATA[hidden_path]]></frontName>

Bước 3: Xóa Magento cache trong Backend. 
Sau đó truy cập Backend Magento Admin Panel với đường dẫn mới là: http://www.domain-name.xxx/hidden_path

Nếu vẫn chưa được => vào hosting server => tìm đến thư mục gốc cài đặt website của bạn => truy cập thư mục /var xóa luôn 2 thư mục bên trong là:
/session
/cache
=> thử lại. Chúc bạn thành công !