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

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

Special_One

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

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

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

  • Days Won

    21

تمامی ارسال های Special_One

  1. سلام فربد عزیز این کار رو میشه با vueیا ajax انجام داد که به نظر من میشه یه جدول برای تصاویر و یک کلید خارجی برای اون تعریف کرد . آقای @ابوالفضل طالبی با ajax و vue آشنایی دارن میتونید با منشن کردن بگین کمکتون کنن
  2. سلام دوست گرامی بهتره که پیام ها تون رو در قالب یک پیام بفرستید به جای تشکر میتونید با لایک منظور خودتون رو برسونید بهتره style و methods ها در ویو مربوط به خودش باشه که مشخص باشه تا زمانی که پروژه بزرگ شد گیج کننده نباشه سپاس از اینکه قوانین رو رعایت میکنید:)
  3. سلام سامان جان شما به خاطر این از لاراول استفاده میکنید که 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> مهم ترین نکته در اینجا کنترلر بود که با کمی دقت به روند کارش پی میبری . موفق باشین
  4. شما باید طبق این مراحل جلو برید و در ضمن آدرس دهی ها داخل webpack رو درست انجام بدین. 1+ npm install 2+ آدرس دهی فایل webpack.json +3 npm run dev برای نمایش تغییرات به صورت آنلاین npm run watch من احتمال میدم فایل ها رو درست آدرس دهی نکردید
  5. دستور رو درست وارد کنید npm run dev
  6. سلام امیدوارم که حال خوب باشه سامان برای استفاده از vue js شما باید کامپوننت بسازید به این صورت //app.js Vue.component('exmaple',required('components/Exmaple.vue')); //Code //Example.vue <template> //Code </template> برای پاس دادن باید داخل blade به صورت نوشت <example></example>
  7. سلام روز بخیر بله اما اگر بیشتر از دو مورد بخواهید آپلود کنید باید توجه کنید ID و کدهای JS تغییر کند. برای ثبت در دیتابیس هم بهتر است از این کد استفاده کنید. $yourDBname = new YOURDBNAME(); $yourDBname->create($request->all()); سپاس از شما
  8. سلام خدمت دوستان در مباحث چندین بار عرض شده که این پکیج در لاراول نسخه 7 دیگر پشتیبانی نمیشود . اما بنا به درخواست دوستان این کار رو انجام دادیمو برای دوستان هم قرار میدیم . موفق باشید./
  9. سلام مشکل شما این هست که آدرس دهی ها رو اشتباه وارد میکنید در این تاپیک کامل توضیح داده شده است سپاس از شما
  10. لینک آپارات: https://www.aparat.com/v/fzjZQ منبع پکیج : https://github.com/alexusmai/laravel-file-manager توجه کنید تمام سوالات مربوط به این پکیج در اینجا باید مطرح شود و در صورت رعایت نکردن با کاربر خاطی برخورد خواهد میشود. سپاس گذار از دوستان
  11. در حال تهیه ویدیو آموزشی هستم به زودی با هماهنگی در روی سایت قرار خواهد گرفت
  12. سلام سال نو مبارک چندین بار عرض کردیم و پکیج جایگزین هم معرفی کردیم میتونید از این پکیج استفاده کنید و قابلیت انتخاب چندین تصویر شاخص هم داشته باشید.
  13. سلام آقا امیر گل گلاب همونطور که میدونی بوت استرپ داره نسخه 5 هم میده بیرون و باید بروز باشی و عقب نمونی. در داخل لاراول ما مثل بقیه فریم ورک ها میتونیم از چند روش مرسوم از این تکنولوژی استفاده کنیم و به تگ های HTML خودمون ظاهر متناسب بدیم و یک سایت خلاقانه بسازیم. روش استفاده به این چند صورت انجام میگیره که کامل توضیحات رو میدم خدمتتون. روش های کلی استفاده از بوت استرپ در پروژه لاراول ابتدا به سایت مرجع رفته و از قسمت Documentation --> Download روش های دانلود را مشاهده میکنیم . 1-روش اول : ( Compiled CSS and JS) همانطور که ملاحظه میکنید فایل هایی به شما میدهد که نیاز به کامپایلر ندارد بعد از دانلود ما باید فایل های دانلود شده را داخل پوشه پابلیک قرار دهید و به روشی که عرض میکنم عمل کنید. <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 ها است که بسیار راحت تر میباشد از همان قسمت دانلود کافیست لینک ها را کپی کرده و در جای مناسب قرار دهید. روش استفاده بعدی استفاده از 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 موفق تر باشید.
  14. سلام بر شما اول یک خبر قاطع بدم که پکیج Unisharp دیگه با نسخه 7 سازگار نیست و نمیشه استفاده کرد ، شما باید پکیج های دیگری را جایگزین کنید پیشنهاد بنده این پکیج هست کخ قابلیت های خوبی داره که در صورت صلاح دید روش استفاده و کانفیگ در انجمن قرار داده میشه. https://github.com/alexusmai/laravel-file-manager
  15. وقت بخیر شما بسته به نیاز روابط رو در داخل جداول ایجاد میکنید ، اگر هر جایی نیاز دیدین میتونید از قسمت model یا قسمت migrations اسن اتصال را برقرار کنید موفق باشید
  16. من هم مشکل پکیج unisharp رو حل کردم که در قالب یک ویدیو در اختیارتون قرار میدم . https://www.aparat.com/v/SAed6
  17. دوست عزیز پلاگین های زیادی هست میتونید از Selectize.js استفاده کنید قابلیت های خوبی داره یکی از خوبیاش اینه موارد تکراری رو نشون نمیده و ...
  18. سلام وقت بخیر من یک سلکت باکس دارم به این صورت <select name="meliat" id="meliat" class="demo-default" required> <option value="1" @if($panelUser->meliat == 1) {{'selected'}} @endif >ایرانی </option> <option value="2" @if($panelUser->meliat == 2) {{'selected'}} @endif >اتباع خارجی </option> </select> 1-فرض کنید کاربر یک فیلد انتخاب کرده و من میخوام فیلدی که کاربر انتخاب کرده رو نمایش بدم 2-در موارد دو یا سه موردی میشه از یک شرط استفاده کرد اما در سلکت باکس هایی که فیلد های زیادی دارن چه کاری میشه انجام داد؟
  19. ببینید اگر middleware بعد از ساختن در kernel اضافه نکنید نمیتونید استفاده کنید
  20. دوست عزیز قبل از همه این کار ها دستور رو تو ترمینال واردکنید. npm install
  21. سلام وقت بخیر شما برای اینکار نیاز به یادگیری php دارید با یک شرط ساده میتونید کاربران با نقش های مختلف رو به صفحات جداگانه منتقل کرد مثال if(auth()->check() && auth()->user()->role == '1'){ return redirect(route('loginModir')); } if(auth()->check() && auth()->user()->level == '2'){ return redirect(route('loginNevisande')); } if(auth()->check() && auth()->user()->level == '3'){ return redirect(route('loginKarbar')); }
  22. سلام برای نمایش و ارتباط با دیتابیس فقط نیاز به ساخت مدل و کنترلر نیست در مرحله اول شما باید اتصال دیتابیس خودتون با پروژه لاراول خودتون رو از طریق فایل .env برقرار کنید.سپس روت خودتون رو مشخص کنید به این صورت Route::get('categories/{category}', 'CategoryController@show')->name('show'); دربالا من روت خودم رو ساختم و گفتم از چه کنترلری و از چه متدی استفاده کنه و چه پارامتری رو قراره در کنترلر بگیره. در نهایت در کنترلر خودتون باید یک view رو برگردونید و پارامتری که در روت بهش دادین رو به صفحه بفرستین //فراخوانی Model use App\Category; //کنترلر show public function show(Category $category) { return view('foldername.singlepage', compact('category')); } و برای استفاده از متد به صورت عمل کنید. <a href="{{ route('show',$category->id) }}" >نمایش دسته بندی با شناسه خودش</a> موفق تر باشید.
  23. سلام و عرض ادب دوست گرامی بعضا خیلی ها با این مشکل روبرو هستن و مشکل اونها مسیردهی اشتباه اونها هست برای روند استاندارد این پروسه به شکل زیر عمل کنید. npm install // نصب پکیج ها node -v // درخواست نمایش ورژن نود جی اس npm -v // درخواست نمایش ورژن بعد از اطمینان از نصب بودن پکیج ها شما باید مسیردهی رو درست انتخاب کنید. 90 درصد مشکلات در انجمن ها آدرس دهی اشتباه هست.یک مثال ساده برای آدرس دهی فرض کنیم مایک قالب در پوشه resources خودمن داریم و فایل ها در اونجا قراردادن. // برای فراخوانی فایل ها استایل داخل پوشه ری سورس به اینصورت عمل میکنیم mix.styles([ 'مسیر فایل های css' ],'public/css/all.css'); // برای فراخوانی فایل ها اسکریپت داخل پوشه ری سورس به اینصورت عمل میکنیم mix.scripts([ 'مسیر فایل های js' ],'public/js/all.js'); بعد از این که مسیر رو به درستی دادیم بعد از آرایه اگر توجه کنید من دو فایل با پسوند جاواسکریپت و سی اس اس ساختم نام این all.css یا all.js اختیاری است. اگر این مراحل رو به طور صحیح طی کنید با نوتیفیکیشن روبرو خواهید شد و در ترمینال نیز با نوشته emmit روبرو خواهید شد . موفق تر باشید
  24. تعریف Route Model Binding هنگام تزریق Model ID به یک route یا controller action ، می توانید مدلی را برای مطابقت با آن شناسه درخواست کنید. اتصال مسیر Laravel راهی مناسب برای تزریق خودکار نمونه های مدل به طور مستقیم به مسیرهای شما فراهم می کند. به عنوان مثال ، به جای تزریق شناسه کاربر ، می توانید کل نمونه مدل User را که مطابق با شناسه داده شده است تزریق کنید.
×
×
  • جدید...