لوگوی وبسایت
تمام آموزش های وبسایت رایگان می باشد ، پس از صفحات مختلف سایت دیدن فرمایید .

آموزش ساخت سیستم آگهی استخدام با php yii2

سلام دوستان با یک آموزش توپ در خدمت شما هستم . در این آموزش قرار ما یک سیستم آگهی شغل با استفاده از زبان php و فریم ورک yii2 بسازیم.

قبل از شروع کار لطفا آموزش شروع کار و نصب فریم ورک yii2 را مطالعه کنید .

آماده سازی فریم ورک yii2 و دیتابیس

ما اول باید یک سری تغییرات انجام بدیم . توی آموزش قبل ما یک فولدر به نام basic داشتیم من اسمشو به job تغییر میدم ( برای زیبایی ! ) .

حالا یک دیتابیس به نام  jobcollection و Collation:utf8_persian_ci میسازیم . حالا فایل db.php در job/config رو باز میکنیم . این فایل کانفیگ دیتابیس ما میباشد و باید طبق اطلاعات دیتابیس تغییر بدهیم ( اگر در لوکال هاست کار میکنید فقط dbname را تغییر دهید )

قراره توی این نرم افزار یک نفر بیاد یک آگهی با یک سری فیلد رو ثبت کنه حالا آگهی ها دسته بندی ، عنوان ، متن و … دارن ولی یک ویژگی هم دارند که کاربر میتواند فیلد های جدید اضافه کند ( مثلا برای بیمه و … ) . پس ما به ۳ تا جدول نیاز داریم .

جدول اول jobs میباشد که ۳ تا فیلد دارد .

id برای شناسه که باید auto increment و primary باشد .

catid برای شناسه ی دسته بندی ( هر آگهی یک دسته بندی دارد ) که با cats:id ریلیشن برقرار میکند.

urlToken که برای مدیریت و … میتوان از آن استفاده کرد ( برای ارتقاع و پیشرفت که در این پروژه به کار نمیآید )

جدول دوم ما jobs_meta هست که قرار است متا ( مقدار های اضافی ) آگهی ها در آن اضافه شوند که ۴ فیلد دارد :

id برای شناسه که باید auto increment و primary باشد .

jobid که شناسه ی آگهی هست که باید با jobs:id ریلیشن برقرار کند .

name برای عنوان متا .

value برای مقدار متا .

این متا ها چیزی شبیه متا های WordPress هستند که اگر با وردپرس آشنایی داشته باشید ، راحت تر متوجه آن ها خواهید شد .

جدول سوم ما cats میباشد که لیست دسته بندی های ما در آن قرار میگیرد که فقط ۲ فیلد دارد . ( برای دسته بندی های تو در تو به نیاز به یک فیلد دیگر به عنوان مادر داریم که فعلا درباره آن ها بحث نمیکنم )

id برای شناسه که باید auto increment و primary باشد .

title برای عنوان جدول

دیاگرام جدول ما مانند شکل زیر میباشد :

9-21-2015 9-38-39 PM

آماده سازی مدل های دیتابیس

حالا آدرس index.php?r=gii را باز کنید تا وارد gii شوید . روی Model Generator کلیک کنید تا وارد بخش ساخت مدل ها شوید .

اگر با خطا مواجه شدید در اطلاعات دیتابیس مشکلی وجود دارد .

حالا شروع به ساخت مدل ها میکنیم . اولین مدل که jobs هست را با تصویر آموزش میدهم ، jobs_meta و cats با خودتان 😉

ابتدا در table name عبارت jo را وارد میکنیم ، اگر به دیتابیس وصل شده باشید مقدار jobs برای شما در یک autocomplete به نمایش خواهد آمد . روی آن کلیک میکنیم .با انتخاب Jobs ، مقدار Model Class نیز خودکار به Jobs تغییر میکند .

9-21-2015 9-44-51 PM

کمی پایین تر تیک Active Query رو هم فعال میکنیم .

9-21-2015 9-46-31 PM

حالا روی Preview کلیک کنید تا پیش نمایش کد ها اماده شوند .

9-21-2015 9-47-10 PM

حالا روی Generate کلیک کنید تا مدل شما اماده شود . مدل های بعدی با خودتان .

9-21-2015 9-47-29 PM

توجه : ما در این پروژه یک مدل دیگر داریم به نام JobsControl که در آینده آن را خواهیم ساخت و علت ساختش را هم توضیح خواهم داد .

راستی ! اگر ظاهر Gii َما با من فرق میکند نگران نباشید ! یه کوچولو جلوتر علت را متوجه خواهید شد .

آماده سازی ظاهر نرم افزار و ایجاد تغییرات

من معمولا برای فارسی سازی Bootstrap پیشفرض ، از bootstrap-rtl استفاده میکنم و خوده bootstrap را برای استایل تغییر میدهم . پس مراحل زیر را انجام دهید :

ابتدا فایل زیر را دانلود کنید و در jobs/web ، اکسترکت کنید .

دانلود “استایل های فارسی برای yii2” web.zip – Downloaded 188 times – 577 KB

سپس فایل زیر را دانلود کنید و فایل main.php را در jobs/views/layouts جای  فایل main.php جای گذاری کنید ( من منو ها هم تغییر دادم و یک فرم هم اضافه کردم که میتونید تغییرات را در main.php ببینید )

دانلود “لی اوت main.php فارسی برای پروژه آگهی استخدام” main.zip – Downloaded 56 times – 1 KB

حالا نوبت اینه که استایل bootstrap رو تغییر بدید برای این کار فایل زیر را دانلود کنید و در job\vendor\bower\bootstrap\dist\css h جایگزین boostrap.css و boostrap.min.css کنید .

دانلود “استایل heroic برای bootstrap” css.zip – Downloaded 90 times – 41 KB

تبریک ، استایل شما آماده شده است ! تازه gii تون هم تغییر کرده 🙂

آماده سازی صفحه ی اصلی و نمایش دسته بندی ها

خوب حالا باید صفحه ی اصلی رو تغییر بدیم و لیست دسته بندی ها را نمایش بدیم برای اینکار فایل index.php را در job\views\site باز میکنیم . ( این فایل به عنوان ویو در SiteController نمایش داده میشود ، برای تغییر نام ، میتوانید actionIndex را تغییر دهید )

اولین کار این هست که عنوان صفحه را تغییر بدهیم .

حالا نیاز داریم لیست دسته بندی ها را بدست آوریم ( تمام دسته بندی ها را نمایش میدهیم ) برای این کار اول مدل را صدا میزنیم سپس کار Select را انجام میدهیم .

خوب ما لیست رو داریم .

حالا اون متن intro رو تغییر میدیم ( من لینک رو تغییر ندادم شما میتوانید صفحه ایی برای آموزش بسازید و چون این پروژه آموزشی هست من این کار را انجام ندادم)

حالا لیست دسته بندی ها را نمایش میدهیم . ( کد زیر را قرار بدهید ولی قطعا به اررور برخورد خواهید کرد زیرا هنوز jobsByCatCount را تعریف نکردیم !

کد بالا در <div class=”body-content”> قرا میدهیم . کد بالا را توضیح بدهم .

اول باید توجه کنید که من در Select امون اومدم از تابع AsArray() استفاده کردم که خروجی رو به صورت Array بر میگردونه و من توی foreach هم حالت آرایه ی دسته بندی ها در نظر گرفتم ، با تابع all() هم تمام ریکورد ها را برگرداندیم .

در جلسه ی بعد اکشن jobsbycat را خواهیم ساخت .

من یک متد در مدل cats اضافه کردم به نام jobsByCatCount :

این متد تعداد پست ها با دسته بندی id ایی که بهش میدهیم را بر میگرداند .

خوب صفجه ی اصلی ما آماده است ولی باید قبلش تعدادی دسته بندی ثبت کنیم !

کد sql هم برای راحتی تان 🙂

حالا اگر تست کنید به جوابی مثل تصویر زیر خواهید رسید .9-21-2015 10-17-03 PM

تعداد شغل ها فرق میکنند ؟!:) من قبلا یک سری آگهی وارد کردم 🙂 نگران نباشید در قسمت بعد بخش نمایش آگهی ها بر اساس دسته بندی ها و بخش نمایش آگهی را کامل خواهیم کرد و با بحث شیرین SqlDataProvider و GridView آشنا خواهیم شد 🙂

سورس پروژه بعد از پایان دوره

دانلود “سورس پروژه آگهی شغل Yii2 PHP” job_all.rar – Downloaded 469 times – 6 MB

بر چسب های پست : , , , , , , ,
مطالب مرتبط
سلام دوستان امیدوارم حالتون خوب باشد . در این قسمت قرار است سیستم رو تموم کنیم ( ...
۱۰ مهر ۹۴
2 دیدگاه
سلام دوستان ، امیدوارم حالتون خوب باشد ،در این آموزش قرار است مروری بر مدل کوئری ...
۳۱ شهریور ۹۴
0 دیدگاه
سلام دوستان ، امیدوارم حالتون خوب باشد . فریم ورک ها یکی از مهم ترین بخش های برن ...
۲۸ شهریور ۹۴
2 دیدگاه
6 دیدگاه برای “آموزش ساخت سیستم آگهی استخدام با php yii2”
  1. محمد مهدی گفت:

    با سلام
    در صورتی که امکان پذیر است سورس کامل پروژه(اسکریپت)و بانک اطلاعاتی و …..رو درون یک فایل زیپ قرار بدید تا بهتر جزءیات رو ببینیم.
    ممنون

    1. ممنون از تذکرتون ، قرار داده شد .

  2. rezasys14 گفت:

    ممنون از شما
    لینک سورس کار نکرد

    1. با تشکر از شما ، لینک تصحیح شد

  3. shaolin گفت:

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

  4. ss_hh گفت:

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

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *


ورود به حساب کاربری

بستن این پنجره