Cầu cứu - URL Key tiếng Việt

Thảo luận trong 'Các lỗi thường gặp' bắt đầu bởi sangnguyencg, 5 Tháng mười 2012.

  1. sangnguyencg

    sangnguyencg New Member

    Xin chào mọi người,
    - Mình bị vướng một problem mà mình nghĩ rất nhiều người cũng đang bó tay là: khi nhập Product (hoặc Product Category) có Name là Tiếng Việt, thì URL Key mà Magento tự gán nó bị thiếu mất ký tự.
    - Ví dụ: "Trên đồi cỏ non" thì nó tạo URL Key sẽ là "tren-d-i-c-non".
    Mong mọi người giúp đỡ, mình đang rất gấp để build một site báo cáo. Giờ bó tay không biết làm sao.
    Xin cảm ơn!

    Bài viết khác cùng chuyên mục:

  2. admin

    admin Mai Văn Hải Staff Member

    Để làm việc này, bạn cần can thiệp vào core của magento, trong phần URL nhé
  3. sangnguyencg

    sangnguyencg New Member

    Chào anh Hải,
    - Mình mới làm quen Magento thôi, nên còn gà lắm. Nếu anh Hải đã giúp thì giúp cho trót, chứ nói chung chung vậy thì mình cũng bó tay không fix được.
    - Mình cũng còn 1 problem là sau khi Import All Product (với Magento 1.7.x) từ file CSV thì trên site không hề thấy sản phẩm nào, mặc dù trong Admin thì đã thấy có. Chỉ khi login trên site (với User thông thường) thì mới thấy được các sản phẩm đã import. Problem này mình thấy rất là lạ nên cũng đành bó tay.
    Mong anh Hải giúp đỡ, đây cũng là sự nhờ cậy của mình & rất nhiều người đang muốn làm quen với Magento tại Việt Nam.
    Xin cảm ơn!
  4. admin

    admin Mai Văn Hải Staff Member

    Hi Sang
    vấn đề URL mình sẽ trả lời qua email nhé

    Vấn đề import Sang xem lại các việc này trước:
    1. Sau khi import Sang đã clear hết cache chưa?
    2. Sau khi import cần chạy reindex (Config -> index management )
    Sang kiểm tra lại việc trên nhé
  5. sangnguyencg

    sangnguyencg New Member

    Hi anh Hải,
    Vì Sang có nghiên cứu cũng nhiều Magento trước khi bắt tay làm, nên những việc cơ bản trên Sang có biết hết. Cụ thể:
    - Đã clear cache hết, thậm chí disable luôn rồi.
    - Đã reindex luôn rồi.
    Nhưng vẫn bị vậy anh à. Mà lạ nhất là login thì lại thấy sản phẩm?!?
  6. sangnguyencg

    sangnguyencg New Member

    Problem này nhờ Magento Việt Nam trợ giúp cuối cùng lại treo nữa, không đi đến đâu cả.
    Nó giống như hầu hết các issue mà anh em khác nhờ trợ giúp vậy. Thật là nản, vì không hề thấy như nhiệt tình và vì cộng đồng đâu cả :(
  7. trang79

    trang79 New Member

    Tạo URL key tiếng Việt cho category

    app/code/core/Mage/Catalog/Model/Category.php
    thay thế đoạn code sau (bắt đầu từ dòng 477)
    public function formatUrlKey($str)
    {
    $str = Mage::helper('core')->removeAccents($str);
    $urlKey = preg_replace('#[^0-9a-z]+#i', '-', $str);
    $urlKey = strtolower($urlKey);
    $urlKey = trim($urlKey, '-');
    return $urlKey;
    }
    bằng đoạn code
    public function formatUrlKey($str)
    {
    $trans = array(
    'á' => 'a', 'à' => 'a', 'ả' => 'a', 'ã' => 'a', 'ạ' => 'a',
    'ắ' => 'a', 'ằ' => 'a', 'ẳ' => 'a', 'ẵ' => 'a', 'ặ' => 'a', 'ă' => 'a',
    'ấ' => 'a', 'ầ' => 'a', 'ẩ' => 'a', 'ẫ' => 'a', 'ậ' => 'a', 'â' => 'a',
    'Á' => 'a', 'À' => 'a', 'Ả' => 'a', 'Ã' => 'a', 'Ạ' => 'a',
    'Ắ' => 'a', 'Ằ' => 'a', 'Ẳ' => 'a', 'Ẵ' => 'a', 'Ặ' => 'a', 'Ă' => 'a',
    'Ấ' => 'a', 'Ầ' => 'a', 'Ẩ' => 'a', 'Ẫ' => 'a', 'Ậ' => 'a', 'Â' => 'a',
    'Đ' => 'd', 'đ' => 'd',
    'é' => 'e', 'è' => 'e', 'ẻ' => 'e', 'ẽ' => 'e', 'ẹ' => 'e',
    'É' => 'e', 'È' => 'e', 'Ẻ' => 'e', 'Ẽ' => 'e', 'Ẹ' => 'e',
    'ế' => 'e', 'ề' => 'e', 'ể' => 'e', 'ễ' => 'e', 'ệ' => 'e', 'ê' => 'e',
    'Ế' => 'e', 'Ề' => 'e', 'Ể' => 'e', 'Ễ' => 'e', 'Ệ' => 'e', 'Ê' => 'e',
    'í' => 'i', 'ì' => 'i', 'ỉ' => 'i', 'ĩ' => 'i', 'ị' => 'i',
    'Í' => 'i', 'Ì' => 'i', 'Ỉ' => 'i', 'Ĩ' => 'i', 'Ị' => 'i',
    'ó' => 'o', 'ò' => 'o', 'ỏ' => 'o', 'õ' => 'o', 'ọ' => 'o',
    'ố' => 'o', 'ồ' => 'o', 'ổ' => 'o', 'ỗ' => 'o', 'ộ' => 'o',
    'ớ' => 'o', 'ờ' => 'o', 'ở' => 'o', 'ỡ' => 'o', 'ợ' => 'o', 'ơ' => 'o',
    'Ó' => 'o', 'Ò' => 'o', 'Ỏ' => 'o', 'Õ' => 'o', 'Ọ' => 'o',
    'Ố' => 'o', 'Ồ' => 'o', 'Ổ' => 'o', 'Ỗ' => 'o', 'Ộ' => 'o',
    'Ớ' => 'o', 'Ờ' => 'o', 'Ở' => 'o', 'Ỡ' => 'o', 'Ợ' => 'o', 'Ơ' => 'o',
    'ú' => 'u', 'ù' => 'u', 'ủ' => 'u', 'ũ' => 'u', 'ụ' => 'u',
    'ứ' => 'u', 'ừ' => 'u', 'ử' => 'u', 'ữ' => 'u', 'ự' => 'u', 'ư' => 'u',
    'Ú' => 'u', 'Ù' => 'u', 'Ủ' => 'u', 'Ũ' => 'u', 'Ụ' => 'u',
    'Ứ' => 'u', 'Ừ' => 'u', 'Ử' => 'u', 'Ữ' => 'u', 'Ự' => 'u', 'Ư' => 'u',
    'ý' => 'y', 'ỳ' => 'y', 'ỷ' => 'y', 'ỹ' => 'y', 'ỵ' => 'y',
    'Ý' => 'y', 'Ỳ' => 'y', 'Ỷ' => 'y', 'Ỹ' => 'y', 'Ỵ' => 'y'
    );
    $str = strtr($str, $trans);
    $str = Mage::helper('core')->removeAccents($str);
    $urlKey = preg_replace('#[^0-9a-z]+#i', '-', $str);
    $urlKey = strtolower($urlKey);
    $urlKey = trim($urlKey, '-');
    return $urlKey;
    }
  8. trang79

    trang79 New Member

    Tạo URL key tiếng Việt cho product
    app/code/core/Mage/Catalog/Helper/Product/Url.php
    thêm các kí tự tiếng Việt vào đoạn code protected $_convertTable = array(....);
    (bắt đầu từ dòng 42)
  9. sangnguyencg

    sangnguyencg New Member

    Cảm ơn bạn rất nhiều!!!
    Thật ra, vì cũng gấp nên mình phải tự nghiên cứu rồi, chứ không chờ được magentovietnam.com. Họ chỉ vì Thương mại thôi, không hề vì cộng đồng ở đây :(
    Đến nỗi cho Số tổng đài rành rành vậy chứ hỏi nhân viên cũng chỉ ú ớ cho qua chuyện thôi, chả biết gì cả.
  10. jambin

    jambin New Member

    Hi Bạn
    mình cũng có nhiều câu hỏi nhưng đa phần cũng tìm trên đây được một số, còn một số cũng tự nghiên cứu vậy.

    Vấn đề bạn hỏi không dễ nên cũng khó có thể trách được magentovietnam.com trả lời bạn liền.

    Hơn nữa, cộng đồng là để cùng nhau bàn luận và cùng nhau phát triển chứ đâu phải là chỉ để trả lời ngay các câu hỏi của thành viên, nếu không trả lời được thì bị trách móc được.

    Việc tổng đài giúp để cho các thành viên hỏi nhanh các vấn đề dễ, các vấn đề khó thì chác ai cũng phải có thời gian để trả lời rồi.

    theo góp ý của mình Magentovietnam.com nên tăng thêm lực lượng support cho diễn đàn và mọi người hãy chia sẻ thêm kinh nghiệm.
    Mình thấy toàn Mr. Hải trả lời thôi, rất ít thành viên trả lời.

    Kế cả bạn Sang đây, nói đã giải quyết xong rồi nhưng có post cách giải quyết lên đây đâu.
  11. sangnguyencg

    sangnguyencg New Member

    Hi bạn,
    - Thực ra trách móc cũng chẳng được gì, vì tinh thần của họ đã là vậy & chỉ có vậy. Chỉ là mình có chút bức xúc thôi.
    - Về 2 problem mình nêu ra, mình mới nghiên cứu Magento vài ngày mà trong nửa ngày đã giải quyết được với một mình mình. Không lẽ với kinh nghiệm lâu nay của magentovietnam.com thì bạn nghĩ họ chưa từng gặp qua & có cách giải quyết rồi sao?
    - Đúng như bạn nói, cộng đồng là để cùng bàn luận. Nhưng người sáng lập ít nhất cũng phải có cái tâm, và cũng phải hết lòng giúp mọi người trong khả năng. Khía cạnh này thì magentovietnam.com hoàn toàn không thấy có.
    - Tổng đài chỉ lập để trả lời chung chung ai cũng biết thì lập ra làm gì?
    - Magentovietnam.com có thêm supporter cũng vậy thôi. Vì chủ ý của họ chỉ là Commercial, không hết lòng. Trả lời chỉ nửa vời cho có thì có đông bao nhiêu cũng vậy thôi.
    - Mình không post cách giải quyết vì ngay từ đầu mình đã thấy nản & mất tinh thần với forum này rồi. Nếu anh em nào cần mình sẵn sàng trả lời qua email: sangnguyencg@gmail.com.
  12. admin

    admin Mai Văn Hải Staff Member

    Các bạn download file kèm theo về và upload đè lên file đang có là ok nhé

    Các file đính kèm:

  13. Củi Khô37

    Củi Khô37 Member

    Đã muộn.....@@
  14. admin

    admin Mai Văn Hải Staff Member

    Các bạn khác sẽ sử dụng được.
    Thanks
    lehieu77 thích bài này.
  15. lehieu77

    lehieu77 New Member

    Mình mới vọc qua Magento và đang tìm vấn đề này.
    cảm ơn hải nhiều ;)
  16. Trịnh Huy Hoàng

    Trịnh Huy Hoàng New Member

    Mình đang sử dụng Magento 1.9 và hiện tại cách này không giải quyết được vấn đề lỗi tiếng việt trong url. Admin có biết cách nào khắc phục cho phiên bản 1.9 không? Cảm ơn
  17. admin

    admin Mai Văn Hải Staff Member

    Mình đã test trên bản 1.9 nhé Hoàng, chạy ok cả.
  18. Trịnh Huy Hoàng

    Trịnh Huy Hoàng New Member

    Cảm ơn admin. Đây là những bước mình đã làm

    1. Bật mod_rewrite của server Apache
    2. Vào trang admin, System > Configuration > Web > Search Engine Optimisation chọn Yes ở phần 'Use Web Server Rewrites'
    3. System > Configuration > Web > Secure chọn Yes ở phần 'Use Secure URLs in Frontend'
    4. Sửa lại file .htaccess trong thư mục magento trên server
    5. Xóa cache

    Các bước trên là để xóa index.php trong url, mình ko rõ có ảnh hưởng gì không nên cứ liệt kê

    6. Copy 2 file admin trả lời ở trên (Url.php và Category.php) vào đúng nơi trên server

    Nhưng vẫn bị lỗi một số chữ tiếng việt bị thành dấu '-'. Admin xem hộ mình còn làm thiếu bước nào không? Cảm ơn!
  19. TDMountain

    TDMountain New Member

    mặc dù hơi muộn nhưng vẫn còn hơn không. Test
  20. admin

    admin Mai Văn Hải Staff Member

    Bước thứ 3 ko cần nhé bạn.

    Sau khi chép file lên, bạn phải xóa link cũ (vào trong catalog, edit catalog, xóa url cũ của nó đi, save lại). Tương tự cho sản phẩm nhé.
    Trịnh Huy Hoàng thích bài này.

Chia sẻ trang này