2011-09-01 21 views
6

Tôi đã tự hỏi làm thế nào bạn có thể thay đổi văn bản trên mẫu đăng nhập Joomla. Ví dụ:Làm cách nào để bạn sửa đổi Biểu mẫu đăng nhập trong Joomla?

Từ Tên đăng nhập để Usr, từ Mật khẩu để Pwd, và văn bản khác cũng có.

Có thể câu hỏi này đã được hỏi trước nhưng tôi không thể tìm thấy bất kỳ điều gì.

Có ai biết cách thực hiện việc này không?

+0

Phiên bản Joomla nào? – udjamaflip

+0

Tôi đang sử dụng Joomla 1.7. – CrazyMPh

Trả lời

10

Bạn có thể làm điều này với một mẫu ghi đè lên, nhưng điều đó sẽ không duyên dáng xử lý thay đổi đối với mẫu từ một bản nâng cấp, và bạn nó đảm nhận việc đặt các dây mới trực tiếp trong mẫu - điều này sẽ không cho phép đa ngôn ngữ dễ dàng.

Cách chính xác để thực hiện điều này là (như được ám chỉ bởi adjamaflip), thông qua các tệp ngôn ngữ.

Trang đăng nhập chính cho Joomla là thông qua thành phần 'com_users', mặc dù cũng có mô-đun 'mod_login' được đề cập bởi hbit. Quá trình này sẽ hoạt động cho cả hai, chúng sẽ chỉ có các tệp và chuỗi hơi khác nhau để ghi đè (có thể bạn sẽ muốn ghi đè cả hai).

Nếu bạn nhìn vào các mẫu cho bất cứ thành phần hoặc mô-đun, bạn sẽ thấy họ có phần mã như vậy:

<?php echo JText::_('MOD_LOGIN_VALUE_USERNAME') ?> 
<?php echo JText::_('COM_USERS_LOGIN_USERNAME_LABEL') ?> 

này về cơ bản nói 'chèn văn bản dịch cho WHATEVERSTRING đây'. Văn bản đã dịch này được lưu trữ trong tệp ngôn ngữ thích hợp, sẽ nằm trong '/language/LANG/LANG.com_users.ini' cho thành phần 'com_users', vv LANG theo mặc định là 'en-GB', vì vậy có thể dành cho bạn trong '/language/en-GB/en-GB.com_users.ini' bạn sẽ tìm thấy một dòng như:

COM_USERS_LOGIN_USERNAME_LABEL="User Name" 

Bây giờ, bạn có thể chỉnh sửa mà nộp ngay tại đó. Điều này sẽ xuất hiện ngay trên trang web của bạn và sẽ xử lý đa ngôn ngữ một cách chính xác.Nhưng một lần nữa, điều này sẽ không thể nâng cấp rất tốt (nếu Joomla phát hành một phiên bản mới thay đổi tập tin ngôn ngữ đó, nó sẽ nuke thay đổi của bạn).

Để xử lý nâng cấp, họ đã thêm một tính năng mới trong Joomla 1.6 để ghi đè ngôn ngữ. Bạn có thể thêm ghi đè cho bất kỳ tệp ngôn ngữ nào (bất kỳ thành phần/mô-đun/v.v.) nào vào một vị trí ghi đè riêng biệt, trong '/language/overrides/LANG.override.ini'. Ví dụ: thêm dòng:

COM_USERS_LOGIN_USERNAME_LABEL="Usr" 

Bây giờ bạn đã ghi đè chuỗi ngôn ngữ đó. Thêm dòng cho 'MOD_LOGIN_VALUE_USERNAME' v.v. để ghi đè lên mô-đun đăng nhập và các chuỗi khác nếu cần.

Bây giờ nếu bạn nâng cấp Joomla, bạn sẽ nhận được bất kỳ thay đổi nào đối với các mẫu đăng nhập đó, nhưng sẽ không mất các thay đổi văn bản của bạn. Bạn có thể áp dụng cùng một quy trình này cho từng ngôn ngữ mà trang web của bạn được cung cấp, các ghi đè sẽ sống hạnh phúc bên cạnh nhau. Điều này cũng sẽ làm việc cho các thành phần và mô-đun bên thứ 3, miễn là chúng đang sử dụng 'JText :: _()' cho đầu ra chuỗi - mà chúng nên có.

3

Bạn thực hiện việc này với phần ghi đè mẫu được gọi là. Bạn về cơ bản sao chép một tập tin (nơi đầu ra của biểu mẫu của bạn xảy ra) vào thư mục mẫu của mẫu đang hoạt động của bạn. Đối với hình thức đăng nhập mà bạn cần như thế này:

Sao chép

[joomla] /modules/mod_login/tmpl/default.php

để

[joomla ]/templates/[mẫu bạn sử dụng] /html/mod_login/default.php

Điều quan trọng là tạo (nếu không có) và sử dụng thư mục "html" trong thư mục mẫu của bạn. Sau đó, bạn chỉnh sửa default.php mới theo cách bạn muốn. Ý tưởng là bạn không chỉnh sửa các tệp lõi vì đây là thực hành không tốt.

Dưới đây là thêm thông tin về mẫu ghi đè: How to override the output from the Joomla! core

+1

Thực ra câu trả lời này không hoàn toàn chính xác. Người dùng phải sử dụng ghi đè ngôn ngữ cho những gì họ muốn. – udjamaflip

Các vấn đề liên quan