مشکل در تغییر فایل index قالب ؟؟؟
با سلام به تمامی دوستان عزیز ...
داخل هر فولدر قالب مامبو یه فایل Index.php هست که وقتی سایت لود میشه از این فایل استفاده میشه ...
و اما مشکل من !!! :: :-\
حالا من میخوام دو تا فایل مثلاً به نام های indexf.php و indexie.php درست کنم و محتویات index.php رو حذف کنم و درونش کدی قرار بدم که وقتی کاربر فایرفکس وارد سایت میشه فایل indexf.php اجرا بشه و وقتی با ie وارد میشه فایل indexie.php اجرا بشه !!! :o
راستی یه توضیح دیگه هم اضافه کنم ، اینکه من مشکلی با قالب در firefox و ie ندارم و نمیخوام css تغییر کنه بلکه من میخوام کاری کنم که بازدیدکنندگان از سایت وقتی با فایرفکس وارد میشن به کل یه قالب دیگه رو مشاهده کنن که بازدیدکنندگان ie اون رو نمیبینن !!! O0
خوب حالا مشکل اینجاست که درون فایل index.php باید چه کدی بنویسم که در صورتی که مرورگر firefox بود بره به indexf.php و اگه مرورگر ie بود بره به indexie.php ؟؟؟ :'(
ببحشید که سوالم خیلی طولانی شد . :-[
با تشکر .
پاسخ : مشکل در تغییر فایل index قالب ؟؟؟
اگه به نتیجه ای رسیدی به ما هم بگو ;) O0
پاسخ : مشکل در تغییر فایل index قالب ؟؟؟
باید از آرایه های فوق سراسری و USER AGENT استفاده کنید.
راهنمایی کردم می تونید در انجمن های دیگه به دنبال این موضوع باشید.
یا علی
پاسخ : مشکل در تغییر فایل index قالب ؟؟؟
من سرچ کردم ولی چیزی که بنظرم به این موضوع مربوط بشه پیدا نکردم !!!
پاسخ : مشکل در تغییر فایل index قالب ؟؟؟
سلام اینجا رو ببینید:
این همه نتیجه !
اینجا هم می تونه کمکتون کنه :
پاسخ : مشکل در تغییر فایل index قالب ؟؟؟
با سلام مجدد خدمت تمامی دوستان عزیز ...
خوب با کمک و راهنمایی دوستان من تونستم این قضیه رو حل کنم ، برای همین دیدم که بد نیست اگه راه حل رو با توضیحات مختصری اینجا بیان کنم :
من به صورت زیر عمل کردم و کاملاً جواب گرفتم :
1 - در شاخه اصلی مامبو سه تا فایل به نام های index.php و index2.php و index3.php قرار دارد . ( از این فایل ها Backup تهیه کنید تا اگر مشکلی پیش اومد بتونید جایگزین کنید )
2 - فایل index.php رو با نام های indexie.php و indexf.php ذخیره مجدد کنید و بعد محتویات فایل index.php رو کاملاً پاک کرده و با کد زیر جایگزین کنید :
کد:
<html>
<script>
if(navigator.userAgent.indexOf("Firefox") != -1)
{
window.location = "indexf.php";
}
else if(navigator.userAgent.indexOf("MSIE") != -1)
{
window.location = "indexie.php";
}
else
{
window.location = "indexie.php";
}
</script>
</html>
خوب فقط دقت کنید که در شرط آخر یعنی :
کد:
else
{
window.location = "indexie.php";
}
مقدار indexie.php رو میتونید indexf.php هم قرار بدید که در اینصورت اگر مرورگر کاربر غیر از Internet Explorer و Firefox باشه مانند صفحه Firefox به اون نمایش داده میشه ...( در صورتی که دقیقاً کد بالا رو استفاده کنید صفحه ساخته شده برای InternetExplorer نمایش داده خواهد شد .
3 - خوب حالا فایل indexf.php رو باز کرده و کد زیر رو در اون پیدا کنید ( حدوداً انتهای فایل است ) :
کد:
require_once( 'templates/'. $cur_template .'/index.php' );
و بعد این کد رو با کد زیر جایگزین کنید :
کد:
require_once( 'templates/'. $cur_template .'/indexfire.php' );
4 - خوب حالا نوبت به دو فایل index2.php و index3.php میرسه :
فایل index2.php رو باز کنید و کد زیر رو در اون پیدا کنید :
کد:
$indextype = 2;
include ('index.php');
و کد زیر رو جایگزین کد بالا کنید :
کد:
<?php
function browser_detection( $selectbrowser ) {
$browser = '';
$navigator_user_agent = ( isset( $_SERVER['HTTP_USER_AGENT'] ) ) ? strtolower( $_SERVER['HTTP_USER_AGENT'] ) : '';
if (stristr($navigator_user_agent, "msie"))
{
$browser = 'msie';
}
elseif (stristr($navigator_user_agent, "gecko"))
{
$browser = 'mozilla';
}
if ( $selectbrowser == 'browser' )
{
return $browser;
}
}
$user_browser = browser_detection('browser');
if ( $user_browser == 'msie' )
{
$indextype = 2;
include ('indexie.php');
}
elseif ( $user_browser == 'mozilla' )
{
$indextype = 2;
include ('indexf.php');
}
else
{
$indextype = 2;
include ('indexie.php');
}
?>
5 - حالا در فایل index3.php کد زیر رو پیدا کنید :
کد:
$indextype = 3;
include ('index.php');
و کد زیر رو جایگزین کد بالا کنید :
کد:
<?php
function browser_detection( $selectbrowser ) {
$browser = '';
$navigator_user_agent = ( isset( $_SERVER['HTTP_USER_AGENT'] ) ) ? strtolower( $_SERVER['HTTP_USER_AGENT'] ) : '';
if (stristr($navigator_user_agent, "msie"))
{
$browser = 'msie';
}
elseif (stristr($navigator_user_agent, "gecko"))
{
$browser = 'mozilla';
}
if ( $selectbrowser == 'browser' )
{
return $browser;
}
}
$user_browser = browser_detection('browser');
if ( $user_browser == 'msie' )
{
$indextype = 3;
include ('indexie.php');
}
elseif ( $user_browser == 'mozilla' )
{
$indextype = 3;
include ('indexf.php');
}
else
{
$indextype = 3;
include ('indexie.php');
}
?>
6 - و اما در آخر باید در داخل فولدر قالبتون فایل قالب مخصوص Firefox یعنی indexfire.php رو ایجاد کنید .
*** توجه کنید که اگر کاربر با مرورگر IE یا مرورگری غیر از Firefox وارد سایت شما شود قالب اصلی یعنی index.php موجود در فولدر قالبتون نمایش داده میشود و اگر با Firefox وارد شود فایل indexfire.php موجود در فولدر قالب نمایش داده خواهد شد .
این کد ها رو میتوانید برای مرورگرهای دیگر هم اختصاصی کنید .
امیدوارم این آموزش مورد استفاده شما قرار گیرد .
منتظر نظرات شما در مورد این شیوه برای جداسازی قالب مامبو برای مرورگرهای مختلف هستم .
آرمان تشکر
پاسخ : مشکل در تغییر فایل index قالب ؟؟؟
سلام.
خوشحالم که به نتیجه رسیدید.
اما تغییر در فایل های مامبو به هیچ عنوان توصیه نمی شه.
می تونید در قالب، فایل index.php رو فقط برای تشخیص مرورگر درنظر بگیرید و بسته به هر نوع مرورگر یک فایل رو include کنید.
مثلا اگر فایرفاکس بود index_ff.php رو include کنید.
یا علی
پاسخ : مشکل در تغییر فایل index قالب ؟؟؟
سلام مجدد به تمامی دوستان عزیز ،
اول از همه باید از سعید عزیز صمیمانه تشکر کنم و بعد هم از تمامی دوستان بابت عملیات بالا که خیلی طولانی بود عذرخواهی کنم ... ( دلیلش بی تجربگی هست ... به بزرگی خودتون ببخشید ;D ::) :) )
خوب اما راه حل بسیار کوتاه و عالی که سعید عزیز پیشنهاد کردن و من هم از اون خیلی خوشم اومد :
1 - داخل فولدر قالب فایل index.php رو برای جلوگیری از اشتباه احتمالی backup بگیرید .
2 - فایل index.php رو به indexie.php تغییر نام دهید .
3 - فایلی به نام indexf.php که قالب اختصاصی برای Firefox هست ایجاد کنید و درون فولدر قالبتون قرار بدید .
4 - یک فایل php با نام index.php ایجاد کنید و کدهای زیر رو درون اون قرار بدید :
کد:
<?php
function browser_detection( $selectbrowser ) {
$browser = '';
$navigator_user_agent = ( isset( $_SERVER['HTTP_USER_AGENT'] ) ) ? strtolower( $_SERVER['HTTP_USER_AGENT'] ) : '';
if (stristr($navigator_user_agent, "msie"))
{
$browser = 'msie';
}
elseif (stristr($navigator_user_agent, "gecko"))
{
$browser = 'mozilla';
}
if ( $selectbrowser == 'browser' )
{
return $browser;
}
}
$user_browser = browser_detection('browser');
if ( $user_browser == 'msie' )
{
include ('indexie.php');
}
elseif ( $user_browser == 'mozilla' )
{
include ('indexf.php');
}
else
{
include ('indexie.php');
}
?>
خوب در پایان هم این فایل رو ذخیره کنید و در فولدر قالبتون قرار بدید .
به همین سادگی ... تموم شد . ( وقتی خودم راه حل اول رو به نسبت این راه حل دیدم میخواستم به حال خودم گریه کنم ...!!! :'( :-[ :-\ )
از این آموزش هم لذت ببرید ...
با سپاس فراوان از آقا سعید عزیز .
منتظر نظرات شما هستم ...
راستی یه سوال هم برای من پیش اومده ... این روش خیلی خوبه ولی آیا برای موتورهای جستجو و Ranking مشکلی ایجاد نمیکنه ؟
پاسخ : مشکل در تغییر فایل index قالب ؟؟؟
سلام
ممنون كه اين آموزش رو نوشتيد و قرار داديد در انجمن، اگر مايليد در ويكي مامبولرن هم منتشر كنيد ... .
در رابطه با سوالتون هم بايد بگم كه به احتمال قوي ربات هاي جستجوگرها به indexie ريدايركت بشن.(چون در انتها اونرو معرفي كرديد)
يا حق
پاسخ : مشکل در تغییر فایل index قالب ؟؟؟
کاش انجمن دکمه ی تشکر داشت که از هر دوتاتون بهتر تشکر میکردیم .. :'( :'( :'( :'( :'( :'(
پاسخ : مشکل در تغییر فایل index قالب ؟؟؟
خواهش میکنم ...
کار من وظیفه بود ولی سعید جان واقعاً لطف کردند .
پاسخ : مشکل در تغییر فایل index قالب ؟؟؟
برنامه شما رو من ساده تر کردم:
کد:
<?php
function browser_detection( $selectbrowser ) {
$browser = '';
$navigator_user_agent = ( isset( $_SERVER['HTTP_USER_AGENT'] ) ) ? strtolower( $_SERVER['HTTP_USER_AGENT'] ) : '';
if (stristr($navigator_user_agent, "msie"))
{
$browser = 'msie';
}
elseif (stristr($navigator_user_agent, "gecko"))
{
$browser = 'mozilla';
}
if ( $selectbrowser == 'browser' )
{
return $browser;
}
}
$user_browser = browser_detection('browser');
if ( $user_browser == 'mozilla' )
{
include ('indexf.php');
}
else
{
include ('indexie.php');
}
?>
این کد بالا کار برنامه شما رو با پیچیدگی زمانی و مرتبه اجرای پایین تری انجام میده.
اما یک کار دیگه هم میشه کرد.
کد:
<?php
function browser_detection( $selectbrowser ) {
$browser = '';
$navigator_user_agent = ( isset( $_SERVER['HTTP_USER_AGENT'] ) ) ? strtolower( $_SERVER['HTTP_USER_AGENT'] ) : '';
if (stristr($navigator_user_agent, "msie"))
{
$browser = 'msie';
}
elseif (stristr($navigator_user_agent, "gecko"))
{
$browser = 'mozilla';
}
if ( $selectbrowser == 'browser' )
{
return $browser;
}
}
$user_browser = browser_detection('browser');
if ( $user_browser == 'msie' )
{
include ('indexie.php');
}
elseif ( $user_browser == 'mozilla' )
{
include ('indexf.php');
}
else
{
include ('indexg.php');
}
?>
اینطوری سه حالت دارید . IE و FF و غیره ;)
ریدایرکت در کار نیست !
اما موتورهای جستجو اون رو می بینند ;)
فقط، از این کار استفاده های خوب بکنید :D
یا علی
پاسخ : مشکل در تغییر فایل index قالب ؟؟؟
آقا سعید باز هم من رو شرمنده کردید ... :-[
واقعاً صمیمانه از شما ممنونم O0
راستی اون شرط آخر رو من به همین دلیل سه مرحله ای گذاشته بودم که بشه بروی مرورگرهای دیگر هم کار دیگری کرد ( البته من اشتباهاً یادم رفته بود توضیح بدم !!! ) :-\
یه مساله هم هست که میدونم به این تاپیک مربوط نمیشه ولی نمیدونم دقیقاً توی کدوم قسمت اون رو وارد کنم ، میشه منو راهنمایی کنید :
من توی اینترنت دنبال یه روش گشتم برای اینکه بشه به صورت اتوماتیک سرعت اتصال کاربر به اینترنت رو تشخیص داد و از این طریق بدون سوال از کاربر ، مثلاً اگر با Dialup بود به صفحه معمولی سایت هدایت بشه و اگر اتصال پرسرعت بود به صفحه Flash دار هدایت بشه ...!!! :D ;)
این اسکریپت که به درستی کارکنه و به طور صحیح سرعت رو مشخص کنه واقعاً توی اینترنت کم هست برای همین من میخوام این اسکریپت رو در این انجمن معرفی کنم ... !!! ::)
حالا به نظر شما باید در کدام قسمت این رو وارد کنم ...؟؟؟ ??? راستی اسم تاپیکش رو پی بذارم ...!!! :'( :-[
پاسخ : مشکل در تغییر فایل index قالب ؟؟؟
سلام.
امکان ویژه ای برای اینکار در نظر گرفته نشده.
مگر با استفاده از Ajax چنین چیزی رو بسازید . (تشخیص اتوماتیک سرعت اینترنت کاربران) (Autodetect user connection speed)
البته نتایجی هم بدست میارید اگر جستجو کنید.
یا علی
پاسخ : مشکل در تغییر فایل index قالب ؟؟؟
سعید جان !!!
من راه حل این قضیه رو بد از کلی جستجو پیدا کردم ، که روشی باشه که تقریباً درصد خطاش خیلی کم باشه .
حالا میخواستم توی این انجمن این راه حل رو برای استفاده دیگر دوستان هم قرار بدم ولی نمیدونم توی کدوم قسمت انجمن این مطلب رو پست کنم که درست باشه !!!
به نظر شما در کجا این مطلب رو پست کنم ؟
پاسخ : مشکل در تغییر فایل index قالب ؟؟؟
[quote author=atn_1366 link=topic=18708.msg99752#msg99752 date=1232470256]
من راه حل این قضیه رو بد از کلی جستجو پیدا کردم ، که روشی باشه که تقریباً درصد خطاش خیلی کم باشه .
[/quote]
کدوم قضیه ؟
تشخیص سرعت یا ... اون تغییر قالب ؟
اگر آموزشش کامل هست ، در قسمت مقالات و آموزش ها ...
یا علی