رفتن به مطلب

چند بخش كردن سايت


Farhad

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

خدا رو شكر مشكل با كمك مرتضي جان حل شد :‌

ميگم براي كسايي كه اگر روزي چنين كاري خواستن انجام بدن ، البته گفته هاي آقا مرتضي است

بهترين افزونه براي اين كار Custom Permalinks كه ميتونيد از اينجا بگيريد

بعد از اپلود و فعال سازي ! دسترسي فايل .htaccess رو در هاست به 777 تغيير بديد و بعد به دسته هاي سايت خود بريد و ويرايش كنيد ! پايين نام دسته و... ي گزينه مياد كه خيلي راحت ميتونيد مشكلتون رو حل كنيد . (‌بعد از انجام كار دسترسي هارو برگردونيد )‌

باز هم از دوستاني كه كمك كردند به خصوص (‌مرتضي جان )‌ تشكر ميكنم.

لینک به ارسال
  • 3 هفته بعد...
متناسب با هر دسته ، یک شناسه عددی تعلق میگیره . پیدا کردن این شناسه خیلی ساده است . آدرس پیوند یکتا رو روی پیشفرض بذارید ، حالا بلفرض آدرس دسته ای بصورت site.ir/?cat=5 شد یعنی شناسه اون دسته عدد 5 هست . این شناسه خیلی جاها کاربرد داره ، مثلاً برای گرفتن لیست ارسالهای اون دسته . یه کاربرد دیگه اش هم که به کار شما میاد استفاده ازش بعنوان ست کردن یه فایل دیگه برای قالب . بصورت پیشفرض شما وقتی میری به آدرس site.ir/?cat=5 وردپرس توی پوشه قالب دنبال category-5.php میگرده ، اگه پیدا کرد اونو واسه قالب اون قسمت انتخاب میکنه اگه نه میگرده دنبال category.php اگه اونم نبود index.php . شما میتونی متناسب با هر دسته یک فایل جداگانه با استایل و سبک جداگانه قرار بدی ، به همین راحتی .

الان ي مشكل وجود داره !‌ زير مجموعه هاي آيدي 5 ديگه از اين قالب استفاده نميكنن !‌

الان قالب category-5.php رو زدم‌! كه مربوط به نرم افزار بود

حالا بايد براي زير مجموعه هاش هم يكي درست كنم؟؟؟؟؟؟؟؟

با اينكه مثلا آنني ويروس با كد 6 زير مجموعه نرم افزار كه كد 5 هست و قالبش هم وجود داره توي سايت !

ممنون ميشم اين يكي هم كمك كنيد ، فقط گير همين يكي هستم.

لینک به ارسال

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

به ازای هر زیر دسته یک فایل category-id.php بسازید و فقط توش بنویسید


<?php include TEMPLATEPATH.'/category-5.php' ; ?>

^_^

لینک به ارسال

ممنون رضا جان بابت پاسخت

يعني من يه فايل category-id.php براي هر دسته يعني ( category-3.php و category-6.php و ....) و بعد توشون بنويسم اين كد رو ؟

حقيقا متوجه نشدم ، شرمندم :دي

يكمي قضيه رو مبتدي تر بگيد ممنون ميشم

لینک به ارسال

اگر بشه فكر ديگه اي كرد خيلي خوب ميشه !‌ چون زير دسته ها خيلي خيلي زياده و بد ميشه

لینک به ارسال

چرا نمیشه :)

و خداوند پی اچ پی را برای آسایش خلق کرد :D

فرض میگیریم دسته هایی با آی دی5و6و7و8و9و10 باید از فایل category-5.php برای قالب استفاده کنن و بقیه از category.php

حالا شما بیایید فایل category.php رو تغییر نام بدید به category-defult.php و فایل category-5.php رو تغییر نام بدید به category-children.php

پس حالا شد دسته هایی با آی دی 5و6و7و8و9و10 از category-children.php استفاده کنن و بقیه از category-defult.php

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

یک فایل category.php بسازید ، تموم درخواست های موضوعات الان میاد اینجا ، پس ما اینجا هندل میکنیم که کیا ، چیا رو بپوشن :P

کد زیر رو توش بذارید ، فقط همین باشه


<?php
$new_cat_display = array(5,6,7,8,9,10);

$use_new_templete = false;
foreach($new_cat_display as $_cat)
{
if(is_category( $_cat ))
{
$use_new_template = true;
break;
}
}

if($use_new_template)
include_once TEMPLATEPATH.'category-children.php';
else
include_once TEMPLATEPATH.'category-defult.php';

تموم شد :D .

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

ویرایش شده توسط rezaonline
لینک به ارسال

ممنون ولي جواب نداد !

كد php فكر كنم كامل نيست ! ميشه ي نگاه بندازيد ؟

ي چيز ديكه ! واس دسته هاي ديگه هم بايد همين كد رو دوباره كپي كرد و عدد هارو تغيير داد؟ يا بايد كد ديگه اي باشه ؟‌

ویرایش شده توسط mr.bass
لینک به ارسال

صفحه صفيد مياد

آخه شما كد php رو نبستيد ! كد ايف رو نبستيد ! چطوريه داستانش ؟

يا من بد ميگم؟؟!!

لینک به ارسال

دو تا فایل

category-children.php

category-defult.php

رو ساختید توی پوشه ؟

به جای

include_once

echo

بنویسید ببینید چیزی نشون میده .

لینک به ارسال

باز هم نشد !‌

با كد include_once كد echo استنفاده كردم

از صفحه صفيد در اومد و مياد آدرس فايل پي اچ پي كه فراخوان كرديم رو نشون ميده توي صفحه ! تنها و تنها آدرس فايل !

مشكل از كجاست؟

لینک به ارسال

به این شکل تست کنید:

<?php
$new_cat_display = array(5,6,7,8,9,10);

$use_new_templete = false;
foreach($new_cat_display as $_cat)
{
if(is_category( $_cat ))
{
$use_new_template = true;
break;
}
}

if($use_new_template)
{
include_once TEMPLATEPATH.'category-children.php';
}
else
{
include_once TEMPLATEPATH.'category-defult.php';
}
?>

لینک به ارسال

ممنون مرتضي جان ولي باز هم صفحه صفيد مياد ‌!

با echo هم امتحان كردم مثل قبل بود

با echo كه امتحان ميكنم كد رو درست ميگيره ها ! چون نشون ميده ميخواد كدوم قالب رو فراخوان كنه ولي فقط آدرسش رو مينويسه به اين صورت

290d2ybb5vkbgkxbolsa.jpg

البته بعد از " يدونه / هم زدم ولي باز هم نشون نداد و فقط / رو اضافه كرد بعد از اسم قالب.

لینک به ارسال

try it


<?php
$new_cat_display = array(5,6,7,8,9,10);

$use_new_templete = false;
foreach($new_cat_display as $_cat)
{
if(is_category( $_cat ))
{
$use_new_template = true;
break;
}
}

if($use_new_template)
include_once TEMPLATEPATH.'/category-children.php';
else
include_once TEMPLATEPATH.'/category-defult.php';

لینک به ارسال

مرسي رضا جان

اين يكي جواد داد

االان من از اين كد استفاده ميكنم



<?php
$new_cat_display = array(3,46,9739,9743,9741,9740);

$use_new_templete = false;
foreach($new_cat_display as $_cat)
{
if(is_category( $_cat ))
{
$use_new_template = true;
break;
}
}

if($use_new_template)
include_once TEMPLATEPATH.'/category-1.php';
else
include_once TEMPLATEPATH.'/category-defult.php';

حالا اين براي دسته بندي با آيدي 1 بود ‌!

دسته بندي بعديبه نام 2 با فايل category-2.php بخوام 2 دسته ديگه تعريف كنيم چطوري ميشه كدش ؟

اين يكي اوكي بود .

لینک به ارسال

فکر کنم باید یه چرخ و فلک حسابی براش بنویسم .

الان مثلاً زیر دسته های 1 + خود دسته 1 باید از فایل category-1 استفاده کنن ، درسته ؟

زیر دسته های 2 + خود دسته 2 باید از فایل category-2 استفاده کنن درسته ؟

و به همین ترتیب ...

اگه اینجوره پس لطف کن آی دی ها رو برام در بیار .

مثلاً بنویس

دسته با آی دی 1 -زیر دسته ها 3و46و9739و ...

و...

تا خودم توی اسکرپیت وارد کنم براتون .

لینک به ارسال

ممنون رضا جان

شروع :‌

دسته با آی دی 1 - زیر دسته ها 3,46,9739,9743,9741,9740

دسته با آي دي 35 - زير دسته ها 36,47,7600,8237,48,49,50,51,52,53,54,55,56,57,58,37,59,50,9421,61,62,63,64,65,66,858,67,9562,11058

دسته با آي دي 14313 - زير دسته ها 12113,8,10,9,11,12,7105,7107,7106,82,8978,83,84,86,85

پيشاپيش سپاسگزارم رضا جون

لینک به ارسال

بفرمائید.


<?php
$new_cats = array();

// تعریف کردن بچه های دسته مادر با کلید دسته مادر
$new_cats[1] = array(1,3,46,9739,9743,9741,9740);
$new_cats[35] = array(35,36,47,7600,8237,48,49,50,51,52,53,54,55,56,57,58,37,59,50,9421,61,62,63,64,65,66,858,67,9562,11058);
$new_cats[14313] = array(14313,12113,8,10,9,11,12,7105,7107,7106,82,8978,83,84,86,85);

$use_new_template = '/category-defult.php' ;
foreach($new_cats as $key=>$val)
{
foreach($val as $list_cat)
{
if(is_category($list_cat))
{
$use_new_template = "/category-{$key}.php";
break;
}
}

if($use_new_template !== '/category-defult.php')
break;
}

if(file_exists(TEMPLATEPATH.$use_new_template))
include_once TEMPLATEPATH.$use_new_template;
else
echo "فایل {$use_new_template} در پوشه قالب موجود نیست !";

لطف کنید یه امتحانی بکنید چون من فقط نوشتم.;)

الان هر چقدر دسته جدید با زیر دسته جدید هم بخواید اضافه کنید میتونید .

مثلاً بخواید دسته های 40 , 50 ,60 , 70 فایل مثلاً category-70.php استفاده کنن .

کافیه اون بالا اضافه کنید

$new_cats[70] = array(40,50,60,70);

به همین راحتی^_^

راستی بقیه از category-defult.php

استفاده میکنن .

یه امتحانی بکنید ، نتیجه رو اعلام کنید .

موفق باشید .

لینک به ارسال

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

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

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

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

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

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

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

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

×
×
  • اضافه کردن...