رفتن به مطلب
jafar007

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

پست های پیشنهاد شده

سلام دوستان

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

که این صفحه یک قالب مجزا داره. که اخبار رو به صورت جدولی نشون میده.

حالا میخوام هر خبری که انتخاب میشه داخل یک صفحه دیگه که قالبی متفاوت داره نمایش داده بشه.

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

ولی الان درست کار نمیکنه. میخوام ببینم اصلا این کار من درست بوده یا روش دیگه ای داره؟

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

با سلام
اینکه باید چه اتفاقی بیفته جوابش روشنه . به طرق مختلفی هم میشه اینکار رو انجام داد منتهی بستگی به خودتون و شرایط سایت تون داره
اگر مطالبتون زیاد نیست و همچنین سئو و شیطنت کاربرانتون براتون مهمه ، در اینصورت خود جوملا بهترین شرایط رو فراهم کرده
کافیست به ازای هر مطلب ، یک منو از نوع نمایش یک مطلب خاص (اگر درست یادم مونده باشه) ایجاد کنید و اونجا مطلب رو انتخاب کنید و تو اون منو قالب رو هم تعیین کنید
 
اگر حوصله مورد فوق رو ندارید ، یک راهی که به ذهنم میرسه و تو سایتهایی که دمو برای قالب قرار میدهند دیدم ، اینه که ، برید به مسیر زیر :

components/com_content/helpers/route.php


خط زیر را پیدا کنید

$link = 'index.php?option=com_content&view=article&id=' . $id;


و بصورت زیر ویرایش کنید

$link = 'index.php?option=com_content&view=article&id=' . $id.'&template=joomina';


به جای joomina نام قالب موردنظرتون رو وارد کنید

تمام !

 

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

به هر حال انتخاب با خودتونه

یا حق

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
ارسال شده در (ویرایش شده)

ممنون از راهنماییتون. 

روش اول که نمیشه چون مطالب هر سری آپدیت میشه و خود مشتری مطالب میزاره اینکه بگم برای هم مطلب هم یه منوی خاص تعریف کنه خیلی غیر عادی میشه و سخت میشه. 

حالا نمی دونم شایدم مجبور بشم همین کارو بکنم. 

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

 

ولی کاش جوملا راه حل ساده تری داشت. 

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

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

با سلام
خب اگر اینطوری میخواهید میشه به دو روش اینکار رو کرد
روش اول اینه که ، اینگونه مطالبتون رو در یک مجموعه مستقل قرار بدید ، بعد تو همون فایل قبلی شناسه مجموعه رو چک کنید که اگر مطلب در اون مجموعه موردنطر قرار داره قالبش تغییر کنه درغیراینصورت همون قالب پیشفرض نشون داده بشه

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

if ((int) $catid > 1)
{
    $categories = JCategories::getInstance('Content');
    $category   = $categories->get((int) $catid);

    if ($category)
    {
        $needles['category']   = array_reverse($category->getPath());
        $needles['categories'] = $needles['category'];
        $link .= '&catid=' . $catid;
    }
}

حالا بصورت زیر ویرایشش کنید

if ((int) $catid > 1)
{
    $categories = JCategories::getInstance('Content');
    $category   = $categories->get((int) $catid);

    if ($category)
    {
        $needles['category']   = array_reverse($category->getPath());
        $needles['categories'] = $needles['category'];
        if ($catid == 1){
            $link .= '&template=joomina&catid=' . $catid;
        }else{
            $link .= '&catid=' . $catid;
        }
    }
}

اونجاییکه نوشته شده

if ($catid == 1){

شما میتونید به جای عدد 1 ، عدد مربوط به شناسه مجموعه موردنطرتون رو وارد کنید

اگر بخواهید شناسه چند مجموعه چک شود ، میبایست بصورت زیر اون خط رو تغییر بدید

if ($catid == 1 || $catid == 2 || $catid == 3){

یعنی اگر شناسه مجموعه 1 بود یا 2 بود یا 3 بود ، لینک تغییر کنه . میتونید برای هر تعداد مجموعه ای که میخواهید به همین صورت ادامه بدید

 

روش دوم اینه که اگر نمیخواهید به این صورت ادامه بدید ، باید یک پلاگین براتون نوشته بشه که اینکار رو براتون انجام بده یا اگر خیلی میخواهید حرفه ای تر باشه که بشه مطالب رو مدیریت کرد یک کامپوننت هم در کنارش نوشته شود

در صورت تمایل میتونید در portal.sos110.ir سفارش بدید تا براتون انجام بدیم

یا حق

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

به گفتگو بپیوندید

هم اکنون می توانید ارسال داشته باشید و بعد ثبت نام خود را در سایت کامل نمایید. اگر حساب کاربری در سایت دارید، جهت ارسال با حساب کاربری خود هم اکنون وارد سایت شوید

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.


×
×
  • افزودن...