Sử Dụng Đa Ngôn Ngữ (multi Language) Trên Joomla 2.5

Thảo luận trong 'Mới sử dụng Joomla' bắt đầu bởi joomla, 8/8/12.

  1. kidnotkid

    kidnotkid Mới tham gia

    Bài viết:
    3
    Likes :
    1
     
  2. phong.dinh

    phong.dinh Rất tích cực

    Bài viết:
    71
    Likes :
    16
  3. phong.dinh

    phong.dinh Rất tích cực

    Bài viết:
    71
    Likes :
    16
    hi bạn, không biết bạn đã giải quyết được vụ chuyển ngôn ngữ mà không cho quay về trang home chưa. Site demo đó mình cũng có tham khảo mà cũng ko biết nó làm ntn. Thôi thì tự mình làm luôn.

    Ở đây mình cũng ko biết cấu hình gì cho khắc phục được lỗi này. Nhưng mình custom lại code của nó (trong file default.php trong thư mục tmpl nghen), sau đó bỏ trong thư mục html thui.

    Mình có post code, bạn tham khảo qua nhe. Chúc bạn thành công :)

    <?php
    /**
    * @package Joomla.Site
    * @subpackage mod_languages
    *
    * @copyright Copyright (C) 2005 - 2012 Open Source Matters, Inc. All rights reserved.
    * @license GNU General Public License version 2 or later; see LICENSE.txt
    */

    defined('_JEXEC') or die;

    JHtml::_('stylesheet', 'mod_languages/template.css', array(), true);
    ?>

    <?php
    # get sef language current
    function getSefCurrent(){
    $lang = &JFactory::getLanguage();
    $code = $lang->getTag();

    $db = JFactory::getDBO();
    $db->setQuery("SELECT * FROM #__languages WHERE lang_code = '" . $code . "'");
    $lg = $db->loadObject();

    return $lg->sef;
    }
    ?>

    <script type="text/javascript">
    // when user choose language then ...
    function changeLanguage(sef){
    var url = document.URL;
    var replace = '/' + sef + '/';
    var search = '/' + '<?php echo getSefCurrent(); ?>' + '/';

    var href = url.replace(search, replace);

    window.location.href = href;
    }
    </script>

    <div class="mod-languages<?php echo $moduleclass_sfx ?>">
    <?php if ($headerText) : ?>
    <div class="pretext"><p><?php echo $headerText; ?></p></div>
    <?php endif; ?>

    <?php if ($params->get('dropdown', 1)) : ?>
    <form name="lang" method="post" action="<?php echo htmlspecialchars(JURI::current()); ?>">
    <select class="inputbox" onchange="document.location.replace(this.value);" >
    <?php foreach($list as $language):?>
    <option dir=<?php echo JLanguage::getInstance($language->lang_code)->isRTL() ? '"rtl"' : '"ltr"'?> value="<?php echo $language->link;?>" <?php echo $language->active ? 'selected="selected"' : ''?>>
    <?php echo $language->title_native;?></option>
    <?php endforeach; ?>
    </select>
    </form>
    <?php else : ?>
    <ul class="<?php echo $params->get('inline', 1) ? 'lang-inline' : 'lang-block';?>">
    <?php foreach($list as $language):?>
    <?php if ($params->get('show_active', 0) || !$language->active):?>
    <li class="<?php echo $language->active ? 'lang-active' : '';?>" dir="<?php echo JLanguage::getInstance($language->lang_code)->isRTL() ? 'rtl' : 'ltr' ?>">
    <a onclick="return changeLanguage('<?php echo $language->sef ?>');" href="javascript:void(0);">
    <?php if ($params->get('image', 1)):?>
    <?php echo JHtml::_('image', 'mod_languages/' . $language->image . '.gif', $language->title_native, array('title' => $language->title_native), true);?>
    <?php else : ?>
    <?php echo $params->get('full_name', 1) ? $language->title_native : strtoupper($language->sef);?>
    <?php endif; ?>
    </a>
    </li>
    <?php endif;?>
    <?php endforeach;?>
    </ul>
    <?php endif; ?>

    <?php if ($footerText) : ?>
    <div class="posttext"><p><?php echo $footerText; ?></p></div>
    <?php endif; ?>
    </div>
     
  4. hoadn

    hoadn Mới tham gia

    Bài viết:
    7
    Likes :
    0
    mình dùng cách này và cứ ai đó vào mới trang của mình là nó hiện ra cái Home for Both languages.
    Bạn nào biết nguyên nhân không giúp mình với.
     
  5. phong.dinh

    phong.dinh Rất tích cực

    Bài viết:
    71
    Likes :
    16
    hi, bạn cho xem trang demo đi bạn. Vậy mọi người mới xem giúp được bạn. Thân!
     
  6. saosangmo

    saosangmo Mới tham gia

    Bài viết:
    18
    Likes :
    0
    Các bạn cho hỏi là mình muốn switcher trong backend dùng để filter content theo ngôn ngữ mình chọn ko?
    thanks
     
  7. namb10

    namb10 Mới tham gia

    Bài viết:
    14
    Likes :
    0
  8. khanh_pro

    khanh_pro Rất tích cực

    Bài viết:
    180
    Likes :
    15
    Bai hay ma ko xem được hình ảnh nên khó làm qua!
     
    king4748 thích bài này.
  9. TomyTran

    TomyTran Marketing & Founder Staff Member

    Bài viết:
    1,073
    Likes :
    666
    khanh_pro thích bài này.
  10. fx3000

    fx3000 Rất tích cực

    Bài viết:
    30
    Likes :
    10
    trả lời cho vấn đề thay đổi ngôn ngữ bị chuyển về trang chủ :
    (mình mới tìm hiểu nên hơi gà có gì sai xin bỏ qua )
    theo mình thấy ,do bạn không thiết lập đúng thôi ,joomla đã có tính năng chuyển đổi ngôn ngữ khá hoàn thiện rồi ,chỉ là không biết nó ở đâu để thiết lập theo đúng ý bạn muốn thôi .
    theo mình thấy trong System - Language Filter có lựa chọn "Item associations "
    sau khi bật tính năng này lên ,bạn vào menu item nào cũng được sẽ thấy thêm 1 tính năng "Menu Item Associations" ,hãy thiết lập thử bạn sẽ hiểu vì sao .(cho joomla 2.5)
    còn ở joomla 3 thì là " Associations" nhưng nó nằm trong cả menu item ,danh mục ,bài viết
    chúc các bạn thành công ^^!
     
    Last edited: 4/11/13
    king4748 and kingstone like this.
  11. prorex

    prorex Mới tham gia

    Bài viết:
    15
    Likes :
    1
    Mình cũng làm theo sao trong module lại không thấy module language switch vậy bạn. Có phải install nó vào không? Mình cũng tìm down thử nhưng tìm hoài không thấy được cái module ấy. Mong giúp đỡ. Cám ơn nhiều.
     
  12. fx3000

    fx3000 Rất tích cực

    Bài viết:
    30
    Likes :
    10
    chào bạn , cái module này mặc định có sẵn trong jomla , bạn cần lựa chọn " NEW " thêm mới 1 module ,trong danh sách hiện ra ,sẽ thấy language switch (tiếng anh) hoặc thay đổi ngôn ngữ ( tiếng việt)
    nếu có gì thắc mắc thêm bạn cứ hỏi giúp được gì mình sẽ giúp ,
    nếu bạn chưa tìm không thấy có thể để lại liên lạc , mình sẽ giúp qua teamview
    chúc bạn thành công
     
  13. quyennguyenduc1

    quyennguyenduc1 Mới tham gia

    Bài viết:
    19
    Likes :
    0
comments powered by Disqus

Chia sẻ trang này