2012-10-10 24 views
5

मैं जूमला! रों श्रेणी सूची उत्पादन के भीतर प्रत्येक सूची आइटम जो मेरा पीछा एचटीएमएल देता है के लिए एक कस्टम शैली को जोड़ने के लिए कोशिश कर रहा हूँजूमला श्रेणी सूची ओवरराइड प्रत्येक सूची आइटम के लिए आईडी जोड़ने के लिए

<div class="blog"> 
    <div class="cat-children">  
    <ul> 
     <li class="first"> 
     <span class="item-title"><a href="/hyt-hand-held-license-free">HYT</a> 
     </span> 
     </li> 
     <li></li> 
    </ul> 
    </div> 
</div> 

मुझे लगता है कि मैं क्या करने की ज़रूरत है जैसे कुछ:

<li id="myID<?php echo $this->item->catid; ?> "> 

समस्या यह है कि मुझे कौन सी फ़ाइल ओवरराइड नहीं मिल सकती है। मैंने /templates/mytemplate/html/com_content/category/ के साथ-साथ /components/com_content/views/category/tmpl में देखा है, फिर भी फाइलों में से कोई भी उनके भीतर एक अनियंत्रित सूची नहीं है जो cat-chidren से संबंधित है।

तो मेरा पहला सवाल यह है कि मुझे कौन सी फाइल संपादित करनी चाहिए? और मेरा दूसरा यह है कि this->item->[correct'Method'?] का सर्वोत्तम वाक्यविन्यास (सही शब्द या चर विधि है, मैं इस पर थोड़ा सा धक्का दे रहा हूं!) ताकि प्रत्येक सूची आइटम में id="myID[nameofarticle/subcatagory]"

उत्तर

1

आप /components/com_content/views/category/tmpl/default.php

उल एक और लोड subtemplate में है, loadTemplate ('बच्चों') में बिल्ली-बच्चों दिखाई देगी; ?>, यानी

/components/com_content/views/category/tmpl/default_children.php

आप ली वर्ग आप अपने ओवरराइड की लाइन 26 पर कुछ इस तरह छड़ी सकता है (संशोधित करना चाहते हैं यदि नहीं कोर फ़ाइल - लेकिन ठीक सिर्फ एक कोर फाइल पर परीक्षण करने के लिए)

<?php $class = ' class="cmyId' . $this->escape($child->title) . '"';?>

कि प्रत्येक ली होगा दिखाई

तो यह

के रूप में
<li<?php echo $class; ?>> 
    <?php $class = ''; ?> 

इस

<?php $class = ' class="cmyId' . $this->escape($child->title) . '"';?> 
    <li<?php echo $class; ?>> 
    <?php //$class = ''; ?> 

2.5 स्थापना पर इसे बाहर का परीक्षण किया है हो जाता है।

+2

यह बढ़िया है। दोनों गिनती पर एक आकर्षण की तरह काम करता है। :) आपके कोड को थोड़ा सा संशोधित किया है और बच्चे-> शीर्षक के साथ बच्चे-> उपनाम को बदल दिया है और अब यह बेहतर है क्योंकि मेरे पास टूटा हुआ एक के बजाय एकल हाइफेनेटेड क्लास है। बहुत धन्यवाद!! – happilyUnStuck

+0

ग्रेट - इस के लिए उपनाम का उपयोग करने के बारे में सोचा नहीं था। काफी बेहतर। – Trev

0

आपको कई फ़ाइलों को ओवरराइड करना चाहिए घटकों/com_content/विचारों/ सूची संपादित करने के लिए, आप तो फ़ोल्डर में दिखना चाहिए चाहते हैं पर निर्भर करता है में संग्रहीत: - लेख - श्रेणी - श्रेणियों - इन फ़ोल्डरों में से प्रत्येक में विशेष रुप से आप एक सबफ़ोल्डर देखेंगे जिसे 'tmpl' कहा जाता है, जिसके अंदर 'default.php' फ़ाइल होती है। यही वह है जिसे आप ढूंढ रहे हैं।

यदि आप फ़ाइलों को ओवरराइड करना चाहते हैं तो याद रखें कि सबसे अच्छा अभ्यास वैकल्पिक टेम्पलेट्स को अपने टेम्पलेट के फ़ोल्डर में रखना है, जिस तरह से मूल फ़ाइल है (उदाहरण के लिए आलेख फ़ोल्डर: टेम्पलेट्स/YOURTEMPLATEFOLDER /html/com_content/article/default.php - कोई tmpl फ़ोल्डर आवश्यक नहीं है, न ही फ़ोल्डर देखता है)।

एक विकल्प और, मेरी राय में, आसान तरीका प्रत्येक श्रेणी के लिए अलग-अलग टेम्पलेट्स सेट कर सकता है, और उसके बाद प्रत्येक सूची शैलियों को आवंटित कर सकता है।

या, इससे भी आसान, आप टेम्पलेट के फ़ोल्डर में बस अपनी index.php फ़ाइल को संपादित कर सकते हैं ताकि यह $ catId के आधार पर एक विशिष्ट सीएसएस स्टाइलशीट को छू सके।

0

अपने HTML कोड आप श्रेणी ब्लॉग दृश्य का उपयोग कर रहे हैं पता चलता है, श्रेणी में प्रत्येक लेख उदाहरण, blog_children.php फ़ाइल द्वारा प्रदान की गई किया जा रहा है के रूप में यह

/components/com_content/views/category/tmpl/blog.php से पता चलता
<?php echo $this->loadTemplate('children'); ?> 

तो /components/com_content/views/category/tmpl/blog_children.php वह फ़ाइल है जिसे आपको टेम्पलेट HTML निर्देशिका में संपादित या ओवरराइड करने की आवश्यकता है।

फिर आप कस्टम स्टाइल को प्रत्येक लेख के लिए $ बच्चे-> आईडी के साथ एक आईडी या कक्षा जोड़कर लागू कर सकते हैं।

संबंधित मुद्दे