簡體   English   中英

Joomla語言文件反向搜索

[英]Joomla language file reverse search

我有一個帶有其語言文件的組件。 我們的一個表中的一個字段包含語言文件中的字符串,並且在客戶端中該字符串被替換為相應的值,但用戶可以對其進行查詢。 顯然,用戶將使用他讀取的字符串(而不是語言文件中的相應字符串)進行查詢,是否有內置的方法來獲取給定值和語言文件的語言文件常量?

例如,我的語言文件顯示為:

COM_MY_COMPONENT_FOO="bar"

在我的桌子上,我有:

+-------+-----------------------+
| id    |        some_value     |
+-------+-----------------------+
|   1   |  COM_MY_COMPONENT_FOO |
+-------+-----------------------+

有什么辦法可以從“ foo”開始獲取“ COM_MY_COMPONENT_FOO”(假設我已經知道用戶使用的語言文件)? 即使我專門為“ some_value”列創建了一個單獨的語言文件,但讀取整個語言文件並將其反轉可能會花費太多。

它遠非完美或優雅,但我找到了一個可行的解決方案,並將其發布在這里,以供任何不幸的人將來使用。

由於語言文件是簡單的.ini文件,因此很容易使用parse_ini_file將它們作為PHP中的關聯數組讀取,並且可以使用array_flip反轉關聯數組。 如果在語言文件中未定義字符串,則使用isset添加一個簡單控件可以復制JText行為:

$reverselang = array_flip(parse_ini_file($path_to_lang_file));
if(isset($reverselang[$my_string]){
      return $reverselang[$my_string];
}
return $my_string;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM