2009-11-12 8 views
11

मैं जूमला 1.5 के लिए अपना स्वयं का घटक लिख रहा हूं। मैं जो सामग्री जोड़ता हूं उसके लिए "उपनाम" (दोस्ताना यूआरएल स्लग) उत्पन्न करने का तरीका जानने का प्रयास कर रहा हूं। दूसरे शब्दों में, यदि शीर्षक "लेख शीर्षक" है, तो जूमला डिफ़ॉल्ट रूप से the-article-title का उपयोग करेगा (यदि आप चाहें तो इसे संपादित कर सकते हैं)।क्या 'उर्फ' फ़ील्ड उत्पन्न करने के लिए कोई जूमला फ़ंक्शन है?

क्या कोई अंतर्निहित जूमला फ़ंक्शन है जो मेरे लिए यह करेगा?

उत्तर

30

libraries/joomla/database/table/content.php की लाइन 123 JFilterOutput::stringURLSafe() लागू करता है। उस स्ट्रिंग में पास करें जिसे आप "उर्फ अनुकूल" बनाना चाहते हैं और यह आपको जो चाहिए उसे वापस कर देगा।

+0

धन्यवाद! ठीक वही जो मेरे द्वारा खोजा जा रहा था। – DisgruntledGoat

+9

इसे जूमला 2.5 में 'जेप्लिकेशंस :: stringURLSafe() 'कहा जाता है। –

+5

जूमला में 3. * आपको ./joomla/filter/output.php 'JFilterOutput: stringURLSafe ($ string) ' – marcanuy

3

यदि आप अपने बनाए गए घटक के लिए उपनाम उत्पन्न करने का प्रयास कर रहे हैं तो यह बहुत आसान है। मान लीजिए आप click on save या apply button अपने बनाया घटक में है या आप अपने टाइल के माध्यम से अन्य नाम बनाना चाहते लगता है, तो इस सुविधा का उपयोग:

$ailias=JFilterOutput::stringURLSafe($_POST['title']); 

अब आप यह डेटाबेस में सम्मिलित कर सकते।

1

यह आसान PHP है।

यहाँ Joomla 1.5 स्रोत से समारोह है:

सूचना, मैं दो पंक्तियों बाहर टिप्पणी की है। आप

$ new_alias = stringURLSafe ($ your_title) जैसे फ़ंक्शन को कॉल कर सकते हैं;

function stringURLSafe($string) 
    { 
     //remove any '-' from the string they will be used as concatonater 
     $str = str_replace('-', ' ', $string); 
     $str = str_replace('_', ' ', $string); 

     //$lang =& JFactory::getLanguage(); 
     //$str = $lang->transliterate($str); 

     // remove any duplicate whitespace, and ensure all characters are alphanumeric 
     $str = preg_replace(array('/\s+/','/[^A-Za-z0-9\-]/'), array('-',''), $str); 

     // lowercase and trim 
     $str = trim(strtolower($str)); 
     return $str; 
    } 
संबंधित मुद्दे