ایجاد پنل مدیریت دوره‌ها

زمان قرارگیری : 11 خرداد 1396
زمان این قسمت : 25:10
برای دسترسی به این دوره نیاز است بصورت نقدی این دوره را خریداری کنید و این دوره بخشی از دوره های اعضای ویژه نمیباشد

تعداد شرکت کنندگان 1180 نفر
قیمت دوره 125000 تومان
وضعیت دوره تکمیل شده
زمان کل دوره 30:19:42
تعداد قسمت‌ها 51
نوع دسترسی نقدی

در این جلسه بصورت کامل بخش دوره‌های آموزشی در پنل مدیریت رو ایجاد میکنیم تا مواردی که در جلسه‌ات گذشته بیان شدن مانند ایجاد کردن تصاویر شاخص یا آپلود فایل یا ثبت slug اتوماتیک برای یادآوری و کاملا مشکلات شما حل بشه .

رایگان 04:34
برای دسترسی به این دوره نیاز است بصورت نقدی این دوره را خریداری کنید و این دوره بخشی از دوره های اعضای ویژه نمیباشد

تعداد شرکت کنندگان 1180 نفر
قیمت دوره 125000 تومان
وضعیت دوره تکمیل شده
زمان کل دوره 30:19:42
تعداد قسمت‌ها 51
نوع دسترسی نقدی

آفلاین
user-avatar
مدرس دوره حسام موسوی

اول داستان، طراح گرافیک بودم و ۲ سالی به عنوان طراح مشغول بودم، بعد به برنامه‌نویسی علاقمند شدم و الان بیشتر از ۱۰ ساله که عاشق کدزنی و چالش‌های پروژه‌های مختلفم. به تدریس علاقه خاصی دارم و دوست دارم دانشی که در این راه بدست آوردم را در اختیار دیگران هم قرار بدم. 

سوالات و گفتگو‌ها

سوالات و گفتگو‌ها

اگر سوال و مشکلی یا حتی بحثی در یکی از حوزه‌های برنامه‌نویسی دارید این بخش به شما کمک ویژه‌ای خواهد کرد

دورهای پیشنهادی

مشاهده همه دوره ها
آشنایی با امکانات جدید لاراول 7

آشنایی با امکانات جدید لاراول 7

لاراول ۷ به تازگی توسط تیم توسعه دهنده لاراول معرفی شده، ما قصد داریم در این دوره امکانات جدیدی که به واسطه لاراول ۷ در اختیار توسعه دهندگان قرار گرفت...

آموزش پروژه محور لاراول

آموزش پروژه محور لاراول

آموزش لاراول آن هم با پروژه در یک آموزش پروژه محور لاراول یک شانس برای یادگیری بهتر و کاربردی‌تر لاراول محسوب می‌شود که در این دوره قصد اینکار را داری...

آشنایی با امکانات جدید لاراول 5.3

آشنایی با امکانات جدید لاراول 5.3

لاراول ۵.۳ بزودی به طور رسمی ارائه میشه اما نسخه develop اون چند وقتی میشه که در اختیار کاربران قرار گرفته در این دوره آموزشی سعی میکنیم که امکانات و...

دسترسی رایگان برای اعضای ویژه
آشنایی با امکانات جدید لاراول 5.2

آشنایی با امکانات جدید لاراول 5.2

لاراول 5.2 بزودی به طور رسمی ارائه میشه اما نسخه develop اون چند وقتی میشه که در اختیار کاربران قرار گرفته در این دوره آموزشی سعی میکنیم که امکانات و...

دیدگاه‌ها و پرسش‌ها

برای ارسال نظر لازم است ابتدا وارد سایت شوید
آفلاین
user-avatar
محمد مهدی
3 هفته پیش

سلام،
در این کد:

public function setBodyAttribute($value)
    {
        $this->attributes['description'] = Str::limit(preg_replace('/<[^>]*>/' , '',$value), 200);
        $this->attributes['body'] = $value;
    }

وقتی قراره دوره رو بسازم با این ارور مواجه میشم!

ErrorException
Array to string conversion
http://localhost:8000/admin/courses

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

آفلاین
user-avatar
حسام موسوی
3 هفته پیش

ارور

Array to string conversion

به معنی اینکه در جای شما یک آرایه رو میخواید به شکل string ذخیره سازی کنید و این امکان پذیر نیست
قدم به قدم باید دیباگ بفرمایید تا بفهمید این آرایه کدومه

آفلاین
user-avatar
saharetm
2 ماه پیش

سلام ببخشید موقع ایجاد دوره این ارور بهم میده چرا:

Error  
Call to a member function course() on null
آفلاین
user-avatar
حسام موسوی
2 ماه پیش

قبل استفاده از course() از چی استفاده کردید ؟
از user ؟ خوب احتمالا بخاطر این هست که کاربر لاگین نیست و کاربری بر گردونده نمیشه

آفلاین
user-avatar
saharetm
2 ماه پیش

نه کاربر دارم تو جدول user
حتی واسه ایجاد مقاله هم الن این ارورو میده .اما قبل از اینکه این جلسه course را شروع کنم مقاله ها به درستی ثبت میشدن اما الان اونا هم همین ارورو میده.

آفلاین
user-avatar
saharetm
2 ماه پیش

بله مشکل حل شد .چون من auth را هم پیاده کردم چون لاگین نکرده بودم نمیشد.
اما حالا به str_limit دوباره ارور میده

آفلاین
user-avatar
حسام موسوی
2 ماه پیش

چه اروری ؟

آفلاین
user-avatar
ebi
4 ماه پیش

سلام
در مورد ریفکتور کردن تو ویدیو صحبت کرده بودید به نظرم به جای کد زیر
preg_replace('/<[^>]*>/' , '' , $value)
میتونید از strip_tags استفاده کنید

آفلاین
user-avatar
حسام موسوی
4 ماه پیش

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

آفلاین
user-avatar
amiri
7 ماه پیش

سلام و خسته نباشید
من وقتی میخوام یک دوره ی جدید ایجاد کنم زمانی که روی دکمه ی ارسال میزنم برای ایجاد، ارور زیر رو میده

The "D:\Xampp\tmp\php90EE.tmp" file does not exist or is not readable.

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

آفلاین
user-avatar
حسام موسوی
7 ماه پیش

سلام احتمال میدم مشکل شما مربوط به اینکه فایل آپلود میشه نباشه، گاهی وقت‌ها یه بخش دیگه مشکل داره ولی ارور فایل به این شکل به نمایش در میاد در صفحه‌ای که آپلود تصویر هست .
قدم به قدم با dd تست بگیرید تا بتونید بفهمید از چه قسمتی این اتفاق می ‌افته

آفلاین
user-avatar
amiri
7 ماه پیش

تصویر به درستی آپلود میشه
بعد از این خط کد ارور میده

auth()->user()->course()->create(array_merge($request->all(), ['images' => $imagesUrl]));

اطلاعات داخل دیتابیس ذخیره نمیشه

آفلاین
user-avatar
حسام موسوی
7 ماه پیش

با احتمال زیاد بخشی از این کد اشتباه عمل میکنه
با dd مثلا مقدار زیر رو تست بگیرید

array_merge($request->all(), ['images' => $imagesUrl])

ببییند چی براتون بر میگردونه یا حتی ممکنه ارور برگردونه

آفلاین
user-avatar
amiri
7 ماه پیش

این خط رو dd گرفتم

array_merge($request->all(), ['images' => $imagesUrl])

کد به درستی کار میکنه و یک آرایه 7 تایی برمیگردونه

array:7 [▼
  "_token" => "jhLZNwq1xEq5IM4a88gwAWtAUBCqsLoAlpz13dup"
  "title" => "دوره یک"
  "type" => "free"
  "body" => "<p>دوره یکدوره یکدوره یکدوره یکدوره یکدوره یکدوره یکدوره یکدوره یکدوره یکدوره یکدوره یکدوره یکدوره یکدوره یک</p>"
  "price" => "100000"
  "tags" => "برنامه نویسی php برنامه نویسی php برنامه نویسی php"
  "images" => array:2 [▼
    "images" => array:3 [▼
      300 => "/upload/images/2020/300_107942_723.jpg"
      600 => "/upload/images/2020/600_107942_723.jpg"
      900 => "/upload/images/2020/900_107942_723.jpg"
    ]
    "thumb" => "/upload/images/2020/300_107942_723.jpg"
  ]
]

به نظر شما اشکال در login کردن نیست؟؟
چون توی ثبت مقالات من به چنین اروری برخورد کردم و با وارد کردن این خط، ارور برطرف شد.

auth()->loginUsingId(1);

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

آفلاین
user-avatar
حسام موسوی
7 ماه پیش

نه برای login نیست سعی کنید، برای چیز دیگه‌ای هست احتمالا
که مربوط به خط زیر میشه اما من مشکلی توش نمیبینم واقعا

auth()->user()->course()->create(array_merge($request->all(), ['images' => $imagesUrl]));

به شکل زیر هم تست بفرمایید یکبار.

$inputs = $request->all();
unset($inputs['token']);
auth()->user()->course()->create(array_merge($inputs, ['images' => $imagesUrl]));
آفلاین
user-avatar
amiri
7 ماه پیش

کد رو تست کردم متاسفانه مشکل حل نشد
تو قسمت دوره ها عملیات delete,edit و update به درستی انجام میشه فقط در ایجاد دوره ی جدید مشکل داره

آفلاین
user-avatar
amiri
7 ماه پیش
$inputs=$request->all()

از این خط که dd میگیرم چنین چیزی برمیگردونه

array:7 [▼
  "_token" => "KSxM8IMBik2x6FE0oRihUgA4UNRNboN3siXTIcKM"
  "title" => "دوره یک"
  "type" => "free"
  "body" => "<p>دوره یک&nbsp;دوره یک&nbsp;دوره یک&nbsp;دوره یک&nbsp;</p>"
  "price" => "100000"
  "tags" => "دوره یک دوره یک دوره یک"
  "images" => UploadedFile {#319 ▼
    -test: false
    -originalName: "herj-5.jpeg"
    -mimeType: "image/jpeg"
    -error: 0
    #hashName: null
    path: "D:\Xampp\tmp"
    filename: "phpB46D.tmp"
    basename: "phpB46D.tmp"
    pathname: "D:\Xampp\tmp\phpB46D.tmp"
    extension: "tmp"
    realPath: false
    writable: false
    readable: false
    executable: false
    file: false
    dir: false
    link: false
  }
]

در اینجا مشکلی نیست؟؟

آفلاین
user-avatar
حسام موسوی
7 ماه پیش

خوب اون images نباید وجود داشته باشه به اون شکل اصلا unset کنید اول مقدارشو در یک متغییر بریزید و بعد unset بفرمایید در مثال بالا توضیح دادم که چطور

آفلاین
user-avatar
amiri
7 ماه پیش

حل شد.
خیلی خیلی ممنونم از پاسخگوییتون

آفلاین
user-avatar
Reza Jm
8 ماه پیش

سلام و خسته نباشید برای دیدن این دوره یه آشنایی با vue.js کافیه یا باید به صورت حرفه ایی تر vue بلد باشیم؟ از بوت استرپ هم استفاده می شه؟

آفلاین
user-avatar
حسام موسوی
8 ماه پیش

تنها در یکی دوم جلسه از vue استفاده میشه نه بیشتر و اگر یه آشنایی داشته باشید باهاش میتونید ببینید البته اگرم بلد نیستید مشکلی ایجاد نمیشه
برای قالب از بوت‌استرپ استفاده شده

آفلاین
user-avatar
سعید
7 ماه پیش

سلام . ckeditor که شما گذاشتید با این کد ها اوکیه و اصلا اشکال نداره ولی اگر الان دانلود کنید حتی ورژن 4 هم با این کدها اوکی نمی شه و باید از داکیومنتش استفاده کرد ...

آفلاین
user-avatar
حسام موسوی
7 ماه پیش

چرا اتفاقا ckeditor که استفاده شده ورژن 4 هست اما ورژن دقیق برای شما چنده ؟

آفلاین
user-avatar
سعید
7 ماه پیش

سلام

ckeditor_4.13.1_full.zip
آفلاین
user-avatar
حسام موسوی
7 ماه پیش

امکان تقییراتی در این ورژن هست که باید از مستندات دنبال کنید

آفلاین
user-avatar
Mahshad
8 ماه پیش

سلام. خسته نباشید.
موقع ارسال دوره به من این ارور رو نمایش میده.
Call to undefined function App\str_limit()
در صورتی که کاملا کدی که وارد کردم درسته و شبیه به کدهای شماست.

 public function setBodyAttribute($value)
    {
        $this->attributes['description'] = str_limit(preg_replace('/<[^>]*>/' , '' , $value) , 200);
        $this->attributes['body'] = $value;
    }

کد دیگه ای میشناسید که بشه با str_limit جایگزینش کرد؟

آفلاین
user-avatar
حسام موسوی
8 ماه پیش

در ورژن جدید لاراول باید به شکل زیر از str_limit استفاده کنید

use Illuminate\Support\Str;

$truncated = Str::limit('The quick brown fox jumps over the lazy dog', 20);

// The quick brown fox...

https://laravel.com/docs/master/helpers#method-str-limit

آفلاین
user-avatar
Mahshad
8 ماه پیش

کاملا درست شد. ممنونم

آفلاین
user-avatar
Mostafa Nazar
1 سال پیش

اگه بخوایم تو نوشتن کوئری از join استفاده کنم ایا این کار باعث میشه که سرعت کار پایین بیاد. یا اینکه اگه تعداد درخواست ها زیاد بشه به سرور فشار بیشتری وارد بشه؟

آفلاین
user-avatar
حسام موسوی
1 سال پیش

بستگی به میزان اطلاعات داره و اینکه کوئری شما چیه برای ارتباط هم از مدل ها و رابطه ها استفاده کنید

آفلاین
user-avatar
Mostafa Nazar
1 سال پیش

زمانی که بخواهیم یه تعداد خیلی زیاد رو بگیرم فقط تعداد ردیفی که از جدول وجود داره نه مقدار(count) این تو سرعت محاسبه تاثیر داره یا اینکه میتونه باعث بشه که سرور فشار بیاد؟

آفلاین
user-avatar
حسام موسوی
1 سال پیش

با استفاده از laravel-debugger میتونید کاملا تعداد کوئری ها و اتفاق های که می افته رو مشاهده کنید

آفلاین
user-avatar
mahdi
1 سال پیش

سلام مهندس خسته نباشید. من این کد رو واسه اینکه تگای html رو حذف کنه داخل مودله مربوطه گذاشتم ولی بازم تگای html رو نشون میده همه مراحلم چک کردم اما نشد .

 public function setBodyAttribute($value)
    {
        $this->attributes['description'] = str_limit(preg_replace('/<[^>]*>/' , '' , $value) , 200);
        $this->attributes['body'] = $value;
    }
آفلاین
user-avatar
حسام موسوی
1 سال پیش

سلام الان در description تگ های Html حذف نمیشه !؟

آفلاین
user-avatar
محسن
1 سال پیش

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

public function setBodyAttribute($value)
    {
        $this->attributes['description'] = str_limit(preg_replace('/<[^>]*>/' , '' , $value) , 200);
        $this->attributes['body'] = $value;
    }

یعنی روش یک خطی کشیده.مشکلش چیه؟

آفلاین
user-avatar
حسام موسوی
1 سال پیش

سلام فقط در ویرایشگر نمیشناسه ؟

آفلاین
user-avatar
محسن
1 سال پیش

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

آفلاین
user-avatar
محسن
1 سال پیش

استاد به جای strl_limit در این قسمت از چی استفاده بشه بهتره؟
چون این متد منقضی شده

آفلاین
user-avatar
حسام موسوی
1 سال پیش

کی گفته منقضی شده ؟ داره به شکل کامل استفاده میشه .

آفلاین
user-avatar
محسن
1 سال پیش

پس چرا تو php.net میگه همچین متدی وجود نداره؟

آفلاین
user-avatar
حسام موسوی
1 سال پیش

چون این تابع اصلا برای php نیست این تابع مربوط به لاراول میشه .
لطفا اگر لاراول کار نکردید ابتدا دوره آشنایی با لاراول رو مشاهده کنید

آفلاین
user-avatar
محسن
1 سال پیش

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

  public function path()
    {
        return "/article/$this->slug";
    }

که این path در اینجا آدرس دهی شده

 <tbody>
                    @foreach($articles as $article)
                        <tr>
                            <a href="{{$article->path()}}"><td>{{$article->title}}</td></a>

سوالم اینجاس که چرا داخل تگ a گزاشتیم؟و بااینک گزاشتیم ولی قابلیت لینکی نداره!
و اصلا این path در url اش داره کجا رو تعریف میکنه

آفلاین
user-avatar
حسام موسوی
1 سال پیش

سلام ببینید یک متد ساده است که تنها وظیفش اینکه اطلاعات مورد نظر رو بگیره و ساده سازی کنه اگر خودمون میخواستیم داخل تگ a یا هر جای دیگه فراخونی کنیم همش باید میگفتیم

"/article/$this->slug"

اما اومدیم در یک متد گذاشتیم تا ساده سازی تر بشه .
برای این کل تگ a رو قرار ندادیم چون ممکنه در غیر از جای که تگ a نیازه هم استفاده بشه حالا شما میبینید استفاده نمیشه میتونید تگ a رو ببرید اونجا

آفلاین
user-avatar
محسن
1 سال پیش

سلام استاد وقتتون بخیر.
در این قسمت من همه کارا رو انجام دادم ولی وقتی میخوام عکسی رو آپلودش کنم و روی کلید send it to the Server کلیک میکنم این اررور برام میادIncorrect server response. و در قسمت console این ارور هست

[CKEDITOR] Error code: filetools-response-error. 

همه کد های شمارو هم زدم استاد

آفلاین
user-avatar
حسام موسوی
1 سال پیش

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

آفلاین
user-avatar
نگار
2 سال پیش

سلام استاد، خسته نباشید
من همه ی مراحل رو انجام دادم بدون ارور ولی قسمت آخرش که تابع
setBodyAttribute
مینویسم
این ارور رو نشون میده
http://uupload.ir/files/rwl_2019-01-26_22_18_59-microsoft_store.png
سپاس.

آفلاین
user-avatar
حسام موسوی
2 سال پیش

سلام ببینید کی بهتون گفته Attribute رو اینطوری بنویسید خوب مشخصه که اروری میده یک نمونه در زیر میارم تا مشکلتون حل بشه.

   $this->attributes['slug'] = str_slug($value);