fazel820

خطا در اجرای دستور شرطی

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

سلام به همه دوستان

من یک نسخه از جوملا 2.5.11 فارسی که از همین سایت گرفتم را نصب کردم. یک قالب هم برنامه نویسی کردم که روی همین نسخه جوملا تنظیمش کردم. اما مشکلی که دارم اینه:

من توی قالب یک شرطی استفاده کردم که اینه:

<?php } if($this->countModules('user7')) { ?>

توی تنظیمات ماژول توی جوملا هم تنظیم کردم که این ماژول فقط در صفحه اصلی دیده بشه.

اما وقتی توی اجرا میرم توی یکی از ماژول ها، ماژول آخرین اخبار را گذاشتم که تیتر آخرین اخبارو نشون میده. وقتی روی عنوان یکی از خبرها کلیک میکنم توی آدرس سایت، آدرس اون مطلب را میاره و توی محتوا هم نشونش میده. اما شرط بالا را اجرا نمیکنه و ماژول را حذف نمیکنه. در حالیکه قاعدتا ما دیگه توی صفحه اصلی نیستیم و بر اساس این شرط باید این ماژول نمایش داده نشه.

نکته: فقط برای مطالب اینجوریه. در ضمن اگه منویی از نوع مطلب بسازم اینجوری نمیشه و درست عمل میکنه. عمدتا برای ماژول آخرین اخبار و پربیننده ترین مطالب اینجوری میشه. راستی برای جستجو هم اینجوری میشه. ولی مثلا برای گالری تصاویر و لاگین و غیره اینجوری نیست.

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

بازم ممنون

Share this post


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

شرط به صورت زیر هست و درسته.

        <?php if($this->countModules('test')) : ?>
             <?php endif; ?>

یه مقدار بد توضیح دادید. دقیقا متوجه نشدم.

ولی در کل کد تست شده و مشکلی نداره. در صورتی که مثلا در موقعیت test چیزی قرار نگرفته باشه. محتوای میان این شرط نمایش داده نمیشه.

حالا شما می تونید از طریق صفحه بندی مثلا یک ماژول را برای صفحه اصلی فعال و صفحات داخلی غیر فعال کنید

Share this post


Link to post
Share on other sites

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

توی این سایت اگر دقت کنید وقتی اخبار توی اسلایدر بالا کلیک میکنیم که باز بشه آدرس سایت میره به اون مطلب. ولی شرط ها برای مشاهده مطلب توی قالب اجرا نمیشن. یا اینکه اگه توی باکس جستجو چیزی بنویسیم و اجرا کنیم باز شرط ها برا نمایش نتیجه اجرا نمیشن. این در حالیه که توی بقیه قسمتها این مشکل نیست.

البته توی ماژول های اخبار ورزشی محلی و اخبار ورزشی سراسری هم قبلا از ماژول های آخرین مطالب جوملا استفاده کرده بودم که دقیقا همین مشکل رو داشتم. اما این ماژول که الان داره استفاده میشه رو که نصب کردم شرط ها اجرا شدن. تا حالا با همچین چیزی مواجه نشده بودم. توی دو تا سایت هم این مشکل رو پیدا کردم

خودم حدس زدم شاید مربوط به نسخه جوملاست که شاید مشکلی توش باشه. بازم نمیدونم.

ممنون میشم دوستان کمک کنند. شده معضلی برام.

بازم تشکر

Share this post


Link to post
Share on other sites

شما باید یک منو مخفی متصل به مجموعه مطالب خودتون ایجاد کنید

مشکل شما زمانی پیش میاد که مثلا روی عنوان مطلبی در یک ماژول کلیک بشه .. در این صورت قالب شما فرض رو میگیره که روی منوی خاصی کلیک نشده و ماژول همچنان نمایش داده میشه..

Share this post


Link to post
Share on other sites
شما باید یک منو مخفی متصل به مجموعه مطالب خودتون ایجاد کنید

مشکل شما زمانی پیش میاد که مثلا روی عنوان مطلبی در یک ماژول کلیک بشه .. در این صورت قالب شما فرض رو میگیره که روی منوی خاصی کلیک نشده و ماژول همچنان نمایش داده میشه..

آقا انجام دادم بازم نشد. از همه قسمت هایی که منو نداشتن یک منو در حالت عدم انتشار ساختم. اما بازم همون مشکل رو داره.

Share this post


Link to post
Share on other sites

مشکلتون دیگه باید با راه حلی که مهندس طالبی گفتند حل میشد

البته اگر این کدی رو که توی پست اول نوشتید رو استفاده میکنید باید بگم که مشکل داره:

<?php [color="#FF0000"]}[/color] if($this->countModules('user7')) [color="#FF0000"]{[/color] ?>

کارکتر هایی که قرمز کردم اشتباه هستند. درستش میشه:

<?php if($this->countModules('user7')) : ?>

فایل index.php قالب هم قرار بدین تا بررسی بشه

Share this post


Link to post
Share on other sites

ارسال شده در (ویرایش شده)

شما باید یک منو مخفی متصل به مجموعه مطالب خودتون ایجاد کنید

مشکل شما زمانی پیش میاد که مثلا روی عنوان مطلبی در یک ماژول کلیک بشه .. در این صورت قالب شما فرض رو میگیره که روی منوی خاصی کلیک نشده و ماژول همچنان نمایش داده میشه..

دوست عزیز در ادامه جواب جناب طالبی من هم اضافه کنم اگر کد همون کدی هست که در ابتدا نوشتید که نباید اصلا اجرا بشه چون همون جور که دوستان دیگه هم گفتن مشکل نوشتاری داره اما اگه میگید بعضی جاها اجرا میشه پس احتمالا موقع تاپیک زدن اشتباه وارد کردید و با فرض درست بودن کدها (همون گونه که خودتون هم میگید بعضی جاها اجرا میشه) باید بگم توی جوملا اختصاص دادن ماژول ها به منوها صورت میگیره و نه به صفحه ها. یعنی میتونیم بگیم چه ماژولی در صفحه فلان منو نمایش داده بشه یا نشه. صفحه اصلی هم خودش یک منو(و اولین منو و از حالت پیش فرض جوملاست). پس اشتباه نکنید که ماژول رو در صفحه ها نمایش یا عدم نمایش بدید. با این تعاریف باید پی برده باشید که پاسخ جناب طالبی که در بالا هم نقل قول شده کاملا مشکل شما رو حل میکنه اما اگه اجرا نشده واسه اینه که شما اون منو رو در حالت عدم انتشار گذاشتید. در واقع عدم انتشار یعنی همچین منویی وجود نداره و فقط در دیتابیس است و از نظر اجرای html سایت همچین منویی نیست. شما اونو به حالت انتشار در بیارید امتحان کنید اگر پاسخ گرفتید فکر چاره باشید و اونم مخفی کردن منو. مخفی کردن منو یعنی اونو در دایوی از قالب بذارید که نمایش داده نمیشه display:none یا روشهای دیگه

موفق و پیروز

ویرایش شده در توسط bestboy7

Share this post


Link to post
Share on other sites

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

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

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

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


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

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

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


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