رفتن به مطلب
انجمن پشتیبانی لاراول ایران

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

Special_One

مدیر
  • تعداد ارسال ها

    122
  • تاریخ عضویت

  • آخرین بازدید

  • Days Won

    23

پست ارسال شده توسط Special_One


  1. سلام مجید سعی کن پیام ها در قالب یک پیام ارسال کنید در صورت تکرار اخطار دریافت میکنید.

     

    شما بهتره کدهاتون رو بفرستید این پیام خطا به این معنی هست که فایل شما را پیدا نمیکنه .

    طریقه صحیح آدرس دهی در فایل app.scss شما میتونی به پوشه resources بری در پوشه resources\sass\app.scss برید و به این صورت آدرس دهی کنید

    @import '~bootstrap/scss/bootstrap';

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

    mix.js('resources/js/app.js', 'public/js')
        .sass('resources/sass/app.scss', 'public/css');

    اما اگر بخوای جداگانه آدرس بدی اینطور آدرس دهی کن . وارد webpack میشی و این کدها را مینویسی اگر چند مورد هم بود داخل [ ] قرار بدین. 

    mix.sass('resources/sass/app.sass', 'public/css')
        .sass('resources/sass/admin.sass', 'public/css/admin');

     

    • لایک 1

  2. در 23 ساعت قبل، nataj گفته است :

    با سلام و دورد

    بابت این آموزشی که فراهم کردین ممنون هستم . فقط کیفیت تصویر آموزشتون بسیار پایین بود و درست واضح نیست. حداقل کیفیت اگر 720dpi باشد بهتر میشد.

    با سپاس.

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

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

    موفق تر باشید.


  3. در در ۱۳۹۹/۱/۱۷ در 18:19، farbod گفته است :

    آموزش نمایش تصاویر شاخص رو میزارید؟

    متاسفانه موفق نشدم برای نمایشش

    سلام فربد جان در اسرع وقت آموزش رو به صورت ویدیویی (لاراول و ویو جی اس) در سایت قرار خواهیم داد سپاس از شما

    • تشکر 1

  4. سلام امیر

    مثالی از داکیومنتنشن لاراول برای شما میزنم تا این مفهوم برای شما قابل فهم باشد.

      public function post()
        {
            return $this->belongsTo('App\Post');
        }

    در مثال بالا، Eloquent سعی میکنه که مقدار post_id موجود  را در مدل فرضی بگیره حالا ما میخوایم که این کلید خارجی رو از حالت پیش فرض خارج کنیم . خب چطور؟؟!!!

     return $this->belongsTo('App\Post', 'foreign_key');

    به جای foreign_key کلید خارجی خود را بنویسید اما نیاز نیست در داخل مایگریشن این کار رو انجام بدید Eloquent فراتر از این هاست که شما مجبور بشی در مایگریشن بخواین کاری انجام بدین

    موفق تر باشید


  5.  

     

    در ویدیو چه چیزی می آموزیم:

    1. آموزش ساخت داده های ساختگی
    2. آموزش تزریق از طریق Tinker
    3. شناخت Seeder , Fake ها
    4. آشنایی با Tinker
    5. آموزش تزریق از طریق ترمینال
    6. آموزش تبدیل تاریخ از میلادی به شمسی
    7. تزریق داده های ساختگی و آشنایی با پکیج faker در گیت هاب
    8. معرفی Navicat

    و...

    • لایک 1
    • تشکر 2

  6. سلام ضمن عرض تشکر بابت مشارکت در انجمن لطفا از عناوین مناسب تری برای موضوع و همچنین از تگ ها برای نشنانه گذاری سوال استفاده شود.

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

    دیتابیس من حاوی یک جدول به نام Products میباشد که نام محصول و قیمت در آن میباشد.

    Products 
    |--------id 
    |--------name 
    |--------price 

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

    protected $fillable = [
            'name',
            'price',
        ];

    من بایدداخل web.php روت های مربوط به این دو را بسازم.

    Route::group(['prefix' => '/admin/product', 'middleware' => 'auth'], function () {
     
        Route::get('/edit/{product}', 'backend\ProductController@edit')->name('product.edit');
        Route::put('/update/{product}', 'backend\Product@update')->name('product.update');
        
    });

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

    نقل قول

    ما بر این فرض که شما دیتابیس و view را ساخته اید ادامه میدهیم

    قسمت Edit چیز خاصی ندارد و ما باید یک ویو را بازگردانیم

     public function edit(Product $product)
        {
            return view('backend.product.edit', compact('product'));
        }

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

    در Update ما با Save , Update میتوانیم عملیات را انجام دهیم.

    public function update(Request $request, Product $product)
        {
            $validatedData = $request->validate([
                'name' => 'required|max:255',
    			'price' => 'number'
            ]);
          
                $product->update($request->all());
           
            return view('index');
        }

    من در اینجا در تابع Update در ابتدا اعتبارسنجی را انجام دادم و گفتم که نام محصول من که همنام با جدول دیتابیس هست باید نوشته شود و اجباری است و نمیتواند بیشتر از 255 کاراکتر باشد و برای قیمت هم گفتم باید فقط عدد باشد. در ادامه متغیر product را با متد آپدیت به روزرسانی میکنیم که در اینجا من همه request ها رو گفتم . این بیسیک ترین راهی بود که گفتم البته باید داخل try باشد تا خطاهارا مدیریت کرد و......

    موفق و سربلند باشید

     

    • تشکر 2

  7. سلام امیر عزیز

    برای تغییر فونت باید با css این کار را انجام بدین .شما باید فونت ها را با فرمت های eot , ttf , woff , woff2 رو داشته باشید.

    @font-face {
      /* نام فونت  */
      font-family:'IranYekanLight';
      /*نمایش فونت در مرورگر*/
      src:url(' fonts/IranYekan/eot/iranyekanweblight\(fanum\).eot');
      src:local('bYekan'), /* لود درصورت وجود فونت در سیستم کاربر */
          local('b Yekan'),
        /* فونت ها برای پشتبانی در مرورگرهای مختلف و دستگاه ها*/
          url(' fonts/IranYekan/eot/iranyekanweblight\(fanum\).eot?#iefix') format('embedded-opentype'),
          url('fonts/IranYekan/woff/iranyekanweblight\(fanum\).woff') format('woff'),
          url('fonts/IranYekan/ttf/iranyekanweblight\(fanum\).ttf') format('truetype'),
          url('fonts/IranYekan/woff2/iranyekanweblight\(fanum\).woff2') format('woff2');
      /* استایل فونت ها  */
      font-style:normal;
      font-weight:normal;
    }
    /*انجمن لاراول ایران*/
     

    مانا باشید


  8. سلام فربد عزیز

    این کار رو میشه با vueیا ajax  انجام داد که به نظر من میشه یه جدول برای تصاویر و یک کلید خارجی برای اون تعریف کرد .

    آقای @ابوالفضل طالبی  با ajax و vue آشنایی دارن میتونید با منشن کردن بگین کمکتون کنن


  9. در 7 ساعت قبل، 0000Saman گفته است :

    فقط یک سوال دیگه خدمتتون داشتم این بود که مشکلی نیست متود app در vue.js در داخل فوتر خودم باشه. در واقع متود app داخل app.js نباشه؟ 

    سلام دوست گرامی

    بهتره که پیام ها تون رو در قالب یک پیام بفرستید به جای تشکر میتونید با لایک منظور خودتون رو برسونید

    بهتره style و methods ها در ویو مربوط به خودش باشه که مشخص باشه تا زمانی که پروژه بزرگ شد گیج کننده نباشه

     

    سپاس از اینکه قوانین رو رعایت میکنید:)


  10. سلام

    سامان جان شما به خاطر این از لاراول استفاده میکنید که MVC هست اول از همه باید عرض کنم کدهای شما هر چقدر هم درست باشه از نظر من و هر کسی که لاراول کار میکنه غلطه چون که شما اصلا معماری MVC رو رعایت نکردین و کلا کارتون اشتباهه.چون من تو کد هاتون Model نمیبینم

    دومین راهنمایی که میتونم بهتون بدم اینه که میتونید از قسمت setting---font رو تغییر بدین فونت Fira Code بهترین انتخاب برای نمایش بهتر کاراکتر های فارسی هست

    کدهای شما برای ذخیره به این صورت خواهد بود

    مدل خودمون رو میسازیم و اگر نیازی برای رابطه در دیتابیس ها بود در این قسمت ایجاد میکنیم و مقایری که نیاز هست رو برای دیتابیس ارسال بشه رو اینجار در fillable ذکر میکنیم

    =========== Model===========
     protected $fillable = [
            'name',
            'description',
            'image',
            'tags',
            'price',
            'status',
            'category_id',
        ];
    /// Example

    حالا نوبت کنترلر خودمون هست که بسازیم در متد Store ما ابتدا نیاز داریم یک متغیر تعریف کنیم و یک آبجکت جدید میسازیم البته من در اینجا اعتبارسنجی ها رو نمیگم. بعد دستورات خودمون رو باید داخل try ,catch میندازیم تا به نحوی خطاهای خودمون رو هندل یا مدیریت کنیم.

    در اینجا ما شئی جدید از دیتابیس که به نام محصول یا product ساخته بودیم رو بتا دستور create میگیم که این رو بساز اما چه چیزی رو برای ما باید بسازه ؟؟؟ خب مسلم هست ما چه چیزی رو میخوایم در دیتا بیس ایجاد کنیم ما میخواهیم درخواست هایی که از طرف یک انسان در فرم ما ارسال میشه رو در قالب یک ستون در پایگاه داده خودمون بسازیم و ثبت کنیم .پس میگوییم همه درخواست هایی که به طرف شما ارسال میشود را ثبت کن (اشاره به کد داخل try )

    سپس خطاهایی که وجود دارد رو میتوینم جوری باهاشون برخورد کنیم که کاربر نبیته چون شکل بهتری داشته باشه سایت ما پس من اومدم از Exeption استفاده میکنم .و میگم اگر شما با خطای 23000 دیتا بیس مواجه شدی بیا و یک پیامی به صفحه alert من بفرست . پیام هم داخل متغیر msg قرار دادم . در غیر این صورت من پیامی موفقیت آمیز به صفحه هشدار میفرستیم.

    =========== Controller =========== 
    public function store(Request $request)
        {
            $validatedData = $request->validate([
                'name' => 'required|max:255',
                'price' => 'number',
            ]);
            $product = new Product();
            try {
                $product->create($request->all());
    
            } catch (Exception $exception) {
                switch ($exception->getCode()) {
                    case  '23000' :
                        $msg = 'مقدار تکراری و عدم ثبت در دیتابیس';
                        return redirect(route('product.index'))->with('warning', $msg);
                }
            }
            $msgsuccess = 'با موفقیت انجام شد';
            return redirect(route('product.index'))->with('success', $msgsuccess);
        }
    	
    	
    	

    حالا من نیاز به روت دارم برای مسیر دهی به صفحاتم پس به این دو صورت میتونم عمل کنم. روت ها مباحث ساده ای هستن نیاز به توضیح ندراه.

    =========== Routing =========== 
    
    Route::group(['prefix' => '/admin/product', 'middleware' => 'auth'], function () {
    
    //////Routes
    
    });
    
    ========Or =========
    
    Route::resource('product', 'ProductController')->except([
        'create', 'store', 'update', 'destroy'
    ]);

    این صفحه هشدرا های من هست اگر به مباحث error handeling در مستندات لاراول نگاه کنید هست نکته این هست اگر در کنترلر نگاه کنید ما دو عدد session به این صفحه تحت عنوان Warning ,     Success فرستادیم و برای آن ها استایل هایی متفاوت هم میتوانیم تعریف کنیم.

    
    
    
    =========== صفحه ای برای نمایش ارورها در سایت =========== 
    @if ($errors->any())
    
        @foreach ($errors->all() as $error)
            <ul>
                <li style="color: red;margin: 1rem;" class="font_bold">{{ $error }}</li>
            </ul>
        @endforeach
    @endif
    
    @if (session('warning'))
        <h3 style="color: green; text-align: center;" class="font_bold"> {{session('warning')}} </h3>
    @endif
    
    @if (session('success'))
        <h3 style="color: green; text-align: center;" class="font_bold"> {{session('success')}}</h3>
    @endif
    
    
    

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

    نمایش خطا ها در ویو
    
    @incloud('alert.alert')
    
    فرم برای ارسال داده 
    <form meethod="POST" action="{{route('store')}}"> 
    @csrf
      ///Inputs
    </form>

    مهم ترین نکته در اینجا کنترلر بود که با کمی دقت به روند کارش پی میبری .

    موفق باشین ;)

    • لایک 1

  11. در 15 دقیقه قبل، naserunesivakil گفته است :

    درست وارد میکنم.تو عکس نیافتاده

     

    شما باید طبق این مراحل جلو برید و در ضمن آدرس دهی ها داخل webpack رو درست انجام بدین.

    1+
    npm install
    2+
    آدرس دهی فایل webpack.json
    +3
    npm run dev
    برای نمایش تغییرات به صورت آنلاین
    npm run watch

    من احتمال میدم فایل ها رو درست آدرس دهی نکردید


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

    برای استفاده از vue js شما باید کامپوننت بسازید به این صورت

    //app.js
    Vue.component('exmaple',required('components/Exmaple.vue'));
    //Code
    
    
    //Example.vue
    
    <template>
      //Code
    </template>

    برای پاس دادن باید داخل blade به صورت نوشت

    <example></example>	

     


  13. سلام روز بخیر

    بله اما اگر بیشتر از دو مورد بخواهید آپلود کنید باید توجه کنید ID و کدهای JS تغییر کند.

    برای ثبت در دیتابیس هم بهتر است از این کد استفاده کنید.

    $yourDBname = new YOURDBNAME();
    $yourDBname->create($request->all());

    سپاس از شما

    • تشکر 1

  14.  

     

    سلام خدمت دوستان در مباحث چندین بار عرض شده که این پکیج در لاراول نسخه 7 دیگر پشتیبانی نمیشود . اما بنا به درخواست دوستان این کار رو انجام دادیمو برای دوستان هم قرار میدیم .

    موفق باشید./

    • لایک 1

  15.  

     

    لینک آپارات:

    https://www.aparat.com/v/fzjZQ


    منبع پکیج : https://github.com/alexusmai/laravel-file-manager

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

    سپاس گذار از دوستان

    • لایک 1
    • تشکر 3
    • خرسندم 1

  16. در 30 دقیقه قبل، negar_a گفته است :

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

    1 - اینکه استاد یک دکمه ی جدا گزاشتن ، تنها برای ایجاد تصویر شاخص هست ؟ یعنی انتخاب یک تصویر از بین چند تصویر آپلود شده ی یک مقاله .

     2 - با همین پکیج ، میتوان برای یک مطلب ، چندین عکس قرار داد ؟ . روال کار به چه شکله ؟  چون هر مطلب من چندین عکس داره و باید در یک جدول جدا ذخیره بشه .

    https://github.com/alexusmai/laravel-file-manager

    سلام سال نو مبارک

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

    • لایک 1

  17. در 20 دقیقه قبل، farbod گفته است :

    ممنون دوست عزیز

    من نسخه 6 رو نصب کردم

    برای نسخه 6 راه حلی پیشنهاد دارین؟

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

    خودش یه پوشه میسازه به اسم storage و هر عکسی که اپلود میکنم یه پوشه به اسم photos  میسازه و فایل درون پوشه 1 قرار میگیره.

     

    این لینک که گذاشتید اگه آموزششو بزارید که عالی میشه

     

     

     


  18.   

    سلام آقا امیر گل گلاب

    نقل قول

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

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

    در داخل لاراول ما مثل بقیه فریم ورک ها میتونیم از چند روش مرسوم از این تکنولوژی استفاده کنیم و به تگ های HTML خودمون ظاهر متناسب بدیم  و یک سایت خلاقانه بسازیم.

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

    روش های کلی استفاده از بوت استرپ در پروژه لاراول

     ابتدا به سایت مرجع رفته و از قسمت Documentation --> Download روش های دانلود را مشاهده میکنیم .

    1-روش اول : ( Compiled CSS and JS)

    image.png.2f4db52ff80eec2199ec114ed3b7020c.png

    همانطور که ملاحظه میکنید فایل هایی به شما میدهد که نیاز به کامپایلر ندارد

    نقل قول

    کامپایلر ؟؟؟ خب چون بوت استرپ از موتور sass استفاده میکند.لازم به ذکر است این مهاجرت از less به sass از نسخه 4 اتفاق افتاد.

    بعد از دانلود ما باید فایل های دانلود شده را داخل پوشه پابلیک قرار دهید و به روشی که عرض میکنم عمل کنید.

     <link href="{{url('assets/css/bootstrap.min.css')}}" rel="stylesheet" type="text/css">
    
    <script src="{{url('assets/js/jquery.min.js')}}"></script>
    <script src="{{url('assets/js/bootstrap.bundle.min.js')}}"></script>
    <script src="{{url('assets/js/bootstrap.min.js')}}"></script>
    
    معماری پوشه ها
    public
    |------|  assets
           |---------|  css
           |---------|  js

    روش بعدی استفاده در پروژه های لاراول استفاده از CDN ها است که بسیار راحت تر میباشد از همان قسمت دانلود کافیست لینک ها را کپی کرده و در جای مناسب قرار دهید.

    image.png.5d507d20f7ae94b6f77114d52cb01f50.png

    روش استفاده بعدی استفاده از npm هست که پیشنهاد داده نمیشه ( هم این هم لاراول میکس ). برای اینکار ابتدا دستور زیر را در ترمینال وارد کرده

    npm install bootstrap

    سپس وارد فایل package.json شوید و کدهای زیر را اضافه کنید.(آدرس ها طبق مسیر فایل های خود)

    "styles": [
        "styles.css",
        "../node_modules/bootstrap/dist/css/bootstrap.min.css"
      ],
      "scripts": [
        "../node_modules/jquery/dist/jquery.min.js",
        "../node_modules/bootstrap/dist/js/bootstrap.min.js"
      ],

    و روش استفاده آخر ه که برات میگم استفاده از روش کامپوزری بوت استرپ هست .دیگه فک نکنم نصب این دیگه نیاز به توضیح داشته باشه :|

    composer require twbs/bootstrap:4.4.1

    موفق تر باشید.


  19. در در ۱۳۹۸/۱۲/۲۸ در 17:49، farbod گفته است :

    منم دقیقا این مشکلو دارم

    و اینکه عکس های اپلود شده در فولدر photos نمیاد

    سلام بر شما

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

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

    https://github.com/alexusmai/laravel-file-manager


  20. در در ۱۳۹۸/۱۲/۲۷ در 12:56، مهرداد گفته است :

    بله خیلی ممنون مایگریت شد...فقط الان user_id ی جدول posts من foreign key نیست بعد ها مشکلی پیش نمیاد؟؟

     

    وقت بخیر

    شما بسته به نیاز روابط رو در داخل جداول ایجاد میکنید ، اگر هر جایی نیاز دیدین میتونید از قسمت model یا قسمت  migrations اسن اتصال را برقرار کنید

    موفق باشید

×
×
  • جدید...