# زبان های اسکریپتی > PHP > Yii Framework >  استفاده از نسخه فارسی bootstrap در yii2

## desatir7316

سلام دوستان
چطوری می شه از نسخه فارسی بوت استرپ (http://www.webdesignermag.ir/) توی yii2  استفاده کرد
اینجا یه چیزایی دیدم ولی نشد : http://www.yiiframework.com/wiki/628...i-2-0-widgets/
ممنون می شم تنظیمات کاملشو بذارین

----------


## desatir7316

هل من ناصرا ینصرنی

----------


## MMSHFE

به این مسیرها مراجعه کنید:
vendor/bower/bootstrap/dist/css
vendor/bower/bootstrap/dist/js

و فایلها رو با معادل RTL خودشون جایگزین کنید.

یا تو فایلهای PHP این مسیر:
vendor/yiisoft/yii2-bootstrap

فایلهای RTL رو فراخوانی کنید.

----------


## desatir7316

ممنون
این کار رو موقت انجام دادم ولی می خواستم از توی تنظیمات این کار رو انجام بدم
توی فایل config

----------


## MMSHFE

تنظیمات چه ارتباطی به bootstrap داره؟ توی Yii2 برای Bootstrap از اکستنشن استفاده نمیشه که بخواین توی تنظیمات مسیرها رو مشخص کنید (مثل Yii1.1) و باید ازطریق همون vendor کار کنید.

----------


## desatir7316

منظورم چیزیه که توی این لینکه گفته:
http://www.yiiframework.com/wiki/628...i-2-0-widgets/

----------


## mohsen_31369

سلام
من فکر کنم اگه فایل های جدید bootstrap rtl را جایگزین مسیر یاد شده در vendor  بکنی، اگه composer رو آپدیت کنی و نسخه جدیدی از bootstrap آمده باشد فایل هات با فایل های جدید دانلود شده جایگزین می شن. من خودم که کلا کاری با پوشه vendor ندارم و توش تغییراتی نمی دم.
برای مشکل شما هم من توی فایل کانفیگ در توی component  این کد رو قرار می دم

   		'assetManager' => [            'bundles' => [                                'yii\bootstrap\BootstrapAsset' => [                    'css' => ['css/bootstrap/css/bootstrap-rtl.css'],                    'js' => ['css/bootstrap/js/bootstrap.min.js'],                    'basePath' => '@webroot',                    'baseUrl' => '@web'                ]            ],        ],
این جوری هر کد یا اکستنشنی که بخواد با bootstrap کار کنه اول BootstrapAsset رو رجیستر میکنه که ما مقادیر فایلهای اون رو با نسخه دلخواه اون تغییر دادیم

----------


## desatir7316

آقا اصلا من با اين نسخه فارسيه سازگار نيستم
كلا مي خوام برم سمت foundation كه خودش امكان rtl هم داره
فك مي كنم ايجور استفاده از bootstrap كم كم به مشكل بر بخوره سايت
يكي اومده يه كاستوم براش نوشته...

----------


## desatir7316

> سلام
> من فکر کنم اگه فایل های جدید bootstrap rtl را جایگزین مسیر یاد شده در vendor  بکنی، اگه composer رو آپدیت کنی و نسخه جدیدی از bootstrap آمده باشد فایل هات با فایل های جدید دانلود شده جایگزین می شن. من خودم که کلا کاری با پوشه vendor ندارم و توش تغییراتی نمی دم.
> .....


من از طريق اين كد خواستم كلا بوت استرپ رو غير فعال كنم كه خطاي زير رو داد:


    'assetManager' => [
        'bundles' => [
            'yii\bootstrap\BootstrapAsset' => [
                'css' => [],
                'js' => [],
//                'basePath' => '@webroot',
//                'baseUrl' => '@web'
                ]
            ],
        ],


Invalid Call – yii\base\InvalidCallException

                Setting read-only property: yii\web\Application::assetManager




از كد شما هم استفاده كردم(بدون تغيير) بازم همين خطا رو گرفتم

----------


## mohsen_31369

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

 1011'components' => [	    'assetManager' => [        'bundles' => [            'yii\bootstrap\BootstrapAsset' => [                'css' => [],                'js' => [],//                'basePath' => '@webroot',//                'baseUrl' => '@web'                ]            ],        ],]

----------


## shpegah

دوستان کلا اگه نخواهیم از بوت استراپ استفاده کنیم چکار میتونیم بکنیم ؟
بوت استراپ توی خط به خط فریمورک رخنه کرده من فقط منوی خودمو خواستم جایگزین کنم کلی بهم ریخت .
بعدش هم کلی از حافظه صرف بوت استراپ شده که اگه نخواهیم استفاده کنیم باید آزادش کتیم میتونید راهنمایی کنید ؟
توی خود سایت فریمورک ییی یه نگاهی به  دوقسمت  guide  و guide 2.0 بندازید وببینید قبلا که از cssاختصاصی خودش استفاده میکرده چقدر زیبا تر بوده ولی توی guide 2.0 از بوت استراپ استفاده کرده اصلا قابل مقایسه نیست

----------


## mohsen_31369

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


اصلا هم خط به خط این فریم ورک رخنه نکرده
فقط در قسمت ویجت ها اون هم نه همه ویجت ها!! فقط ویجتی که خود که خود Yii برای Bootstrap ایجاد کرده، از آن استفاده شده. اون هم استفاده از اون ویجت برای شما اجباری نیستش که !!! خوب از اون استفاده نکن ...
شما وقتی یک پروژه ایجاد می کنید به طور پیش فرض از این ویجت ها  ( yii\bootstrap\Nav , yii\bootstrap\NavBar )  برای بخش گرافیک سایت استفاده شده ( برای منوی بالایی سایت توی layout)، شما اون ها رو پاک کن و کدهای گرافیکی خودتون را جایگزین کنید. 

این قسمت guide2  موقتی است و قراره عوض بشه ( لینک )

----------


## shpegah

اما من فکرمیکنم همین ویجتها جزء قابلیتهای ییی محسوب میشه که اگه بخوایم از گرافیک دیگه ای استفاده کنیم باید مشابه این قابلیتهارو ایجادکنیم تا از امکانات اون استفاده بهینه کرده باشیم که تعدادشون از 20 تا هم بیشتره

----------


## j_naroogha@yahoo.com

دوستان من همین مشکل رو دارم..... با راه حلهای بالا هم حل نشد...
راه حل بهتری نیس؟
ببخشید که تاپیک قدیمی اومد بالا.

----------


## jafaripur

بهترین راه حل برای پشتیبانی RTL در بوت استرپ 3
برو اینجا
https://github.com/morteza/bootstrap-rtl
1- فایل رو دانلود کن
2- فقط کافی هستش فایل مربوط به RTL رو در صفحه بعد فایل های بوت استرپ لود کنی.
3- با AssetManager این فایل را رجیستر کن که بعد از فایل های مربوط به بوت استرپ لود بشه.

----------


## xerror

سلام دوستان 
میتونید از Asset bundle bootstrap rtl که به راحتی از composer نصب میشه استفاده کنید. https://packagist.org/packages/airan...-bootstrap-rtl
پس از نصب فقط کافیه آدرس namespace این asset bundle رو به پروپرتی $depends در app asset پروژه تون اضافه کنید. 
مثل کد زیر:
namespace backend\assets;

use yii\web\AssetBundle;

class AppAsset extends AssetBundle
{
    public $basePath = '@webroot';
    public $baseUrl = '@web';
    public $css = [
        'css/site.css',
    ];
    public $depends = [
        'yii\web\YiiAsset',
        'yii\bootstrap\BootstrapAsset',
        'airani\bootstrap\BootstrapRtlAsset',
    ];
}
https://github.com/airani/yii2-bootstrap-rtl

----------


## j_naroogha@yahoo.com

ممنون . composer.json رو اینطوری تغییر میدم


"require": {
    "php": ">=5.4.0",
    "yiisoft/yii2": "*",
    "yiisoft/yii2-bootstrap": "*",
    "yiisoft/yii2-swiftmailer": "*",
    "airani/yii2-bootstrap-rtl": "*"
},
و $depends  رو بصورت بالا تغییر میدم .... خطای زیر میاد...
Class airani\bootstrap\BootstrapRtlAsset does not exist

----------


## xerror

بعد از این که بسته رو به فایل composer.json اضافه میکنید باید یک بار composer update رو اجرا کنید تا بسته نصب بشه دیگه همینجوری که بسته ای وجود نداره  :لبخند:

----------


## j_naroogha@yahoo.com

> بعد از این که بسته رو به فایل composer.json اضافه میکنید باید یک بار composer update رو اجرا کنید تا بسته نصب بشه دیگه همینجوری که بسته ای وجود نداره


درسته. اما جواب نمیده   :چشمک:

----------


## xerror

خطایی که میده رو بنویس ببینیم مشکل چیه؟
یا دستور زیر رو برای نصب امتحان کن البته قبلش خط مربوطه رو از composer.json حذف کن:
composer require airani/yii2-bootstrap-rtl:*

----------


## j_naroogha@yahoo.com

The package is not available in a stable-enough version according to your minimum-stability setting

----------


## xerror

نباید چنین مشکلی پیش بیاد!
دو تا دستور زیر رو هم امتحان کن.
composer require airani/yii2-bootstrap-rtl:~1.1
or
composer require airani/yii2-bootstrap-rtl:@dev

----------


## j_naroogha@yahoo.com

نمیشود که نمیشود.....

----------


## xerror

من امروز یه نکته ای متوجه شدم.
اخیرا دریافت پکیج ها از کامپوزر از ایران به دلیل اختلالات اینترنت دچار مشکل هست و اگر *** ی چیزی داری با اون امتحان کن.

----------


## j_naroogha@yahoo.com

ممنون
نمیدونم مشکل از کجا بود ولی با تعویض  قند شکن  :لبخند گشاده!:  (خداییش چه اصطلاحاتی ) والبته تعویض ویندوز (البته نه به این دلیل)  مشکلم حل شد.
(جا داره ازت تشکر کنم اما حیف از 99 خوشم   میاد  :خجالت:  .ممنون داداش از پیگیریات)

----------


## vahidalvandi

پیشنهاد میکنم این راهکار هم تست کنید https://goo.gl/cYXmx9

----------

