hichkas463

شرطی کردن موقعیت ها

4 پست در این موضوع

سلام

شب همگی بخیر

من به یه مشکل بر خوردم

انم اینکه دارم قالب رو شرطی میکنم اما نمیدونم کجای کارم ایراد داره که یکی از موقعیت ها کل صفحه رو میگیره و به موقعیت دیگه فضا نمیده اونم زیر اون یکی نمایش داده میشه

کدی که نوشتم این لطفا کمکم کنید

   <?php if (($this->countmodules('right')) || ($this->countmodules('left'))|| ($this->countmodules('slider'))) {?>
               <div id="container1"><jdoc:include type="modules" name="left" style="xhtml" /> <jdoc:include type="modules" name="slider" style="xhtml" /> <jdoc:include type="modules" name="right" style="xhtml" /></div>
           <?php } else if ($this->countmodules('right')) { ?>
               <div id="left"><jdoc:include type="modules" name="left" style="xhtml"  /> <jdoc:include type="modules" name="slider" style="xhtml" /> </div>
           <?php } else if ($this->countmodules('left')) { ?>
               <div id="slider"><jdoc:include type="modules" name="right" style="xhtml" /> <jdoc:include type="modules" name="slider" style="xhtml" /></div>
           <?php } else { ?>
                <div id="right"><jdoc:include type="modules" name="right" style="xhtml"  /> <jdoc:include type="modules" name="left" style="xhtml" /> </div>
        <?php } ?>  

Share this post


Link to post
Share on other sites
آموزش ووکامرس قالب جوملا قالب وردپرس قالب رایگان وردپرس قالب رایگان جوملا هاست نامحدود هاست جوملا هاست لاراول هاست وردپرس هاست ارزان هاست ربات تلگرام خرید دامنه آموزش ساخت ربات تلگرام با php آموزش لاراول آموزش cPanel آموزش php آموزش فرم ساز RSform آموزش ساخت ربات جذب ممبر آموزش ساخت ربات دوستیابی آموزش ساخت ربات فروشگاهی برای ووکامرس آموزش طراحی سایت داینامیک با php آموزش بخش پشتیبانی با rsticket

شرط شما مشکل داره

اینجا شرط گذاشتید اگر یکی از این موقعیت ها موجود بود :

[color=#000000][color=#0000BB]<?php [/color][color=#007700]if (([/color][color=#0000BB]$this[/color][color=#007700]->[/color][color=#0000BB]countmodules[/color][color=#007700]([/color][color=#DD0000]'right'[/color][color=#007700])) || ([/color][color=#0000BB]$this[/color][color=#007700]->[/color][color=#0000BB]countmodules[/color][color=#007700]([/color][color=#DD0000]'left'[/color][color=#007700]))|| ([/color][color=#0000BB]$this[/color][color=#007700]->[/color][color=#0000BB]countmodules[/color][color=#007700]([/color][color=#DD0000]'slider'[/color][color=#007700]))) {[/color][color=#0000BB]?>[/color][/color]

اینکار رو بکن:

[color=#000000]                <div id="container1"><jdoc:include type="modules" name="left" style="xhtml" /> <jdoc:include type="modules" name="slider" style="xhtml" /> <jdoc:include type="modules" name="right" style="xhtml" /></div>[/color]

با این شرط اگر فقط در موقعیت right ماژول باشه که هر سه تاش نمایش داده میشه؟!

بعد مشکل دوم اینکه بازم در زیر همین شرط ، این شرط رو گذاشتید:

[color=#000000]            [color=#0000BB]<?php [/color][color=#007700]} else if ([/color][color=#0000BB]$this[/color][color=#007700]->[/color][color=#0000BB]countmodules[/color][color=#007700]([/color][color=#DD0000]'right'[/color][color=#007700])) { [/color][color=#0000BB]?>[/color][/color]

خب اینبار هم چون ماژول تو right هست باز شرط شما صحیح میشه و مجدد اتفاق زیر میوفته:

[color=#000000]                <div id="left"><jdoc:include type="modules" name="left" style="xhtml"  /> <jdoc:include type="modules" name="slider" style="xhtml" /> </div>[/color]

شرط رو پیش خودت یه بار مرور کردی واقعا؟:jan:

Share this post


Link to post
Share on other sites

سلام

صبحتون بخیر

واقعیتش من زیاد با php آشنا نیستم اما دستو رو پیش خودم اینطور مرورو کرده بودم که خط اول

 <?php if (($this->countmodules('right')) || ($this->countmodules('left'))|| ($this->countmodules('slider')))

یعنی اینکه یکی از این موقعیتها اگر فعال نبود

بیا و وارد شرطها بشو

if ($this->countmodules('right'))

اگر right ماژول نداشت slider و left رو نشون بده

و به همین ترتیب جلو بره

میشه راهنمایی کنین تا حلش کنم؟

Share this post


Link to post
Share on other sites

تکه کد زیر:

$this->countmodules('right')

تعداد ماژولهای بارگزاری شده در موقعیت مورد اشاره رو بر میگردونه

بنابراین وقتی شما شرطی مثل این رو مینویسید:

 <?php if (($this->countmodules('right')) || ($this->countmodules('left'))|| ($this->countmodules('slider')))

به این معنی هست :

اگر در موقعیت right ماژول بود ویا اگر در موقعیت left ماژول بود ویا اگر در موقعیت slider ماژول بود انگاه ادامه بده

پیشنهاد میکنم ابتدا با شرطها کار کنید بعد بیاد شرط درست کنید .. برای کار با شرط میتونید برای خودتون یک فایل php باز کنید و داخلش از OR و AND استفاده کنید تا دستتون بیاد

Share this post


Link to post
Share on other sites

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری