-
پیاده سازی سیستم اعلام نمره
سلام
همین اول کار یه خواهش دارم از دوستانی که لطف می کنن و راهنمایی می کنن ، اونم اینه که لطفا صبور و شکیبا باشید ، شاید بگید این کاریه که من باید بکنم اما من خواهش می کنم شما هم در برابر من و سوالات ابتداییم صبوری به خرج بدید ، من خیلی خیلی مبتدی ام و شاید با سوالاتم آزارتون بدم، یه خواهش دیگه اینکه لطفا توضیحاتتون هم طوری بگید که یه آدم مبتدی متوجه بشه.
تو دو خط چقدر گفتم مبتدی!!!
حالا شرح پروژه
من تو یه تاپیک دیگه هم گفتم ، اما به توصیه آقای مهدی که گفتن تاپیک جدید بزنم ، اینجا هم می گم که دوستانی که اون تاپیک رو ندیدن و احیانا می تونن به من کمک کنن در جریان باشن.
یه پروژه هست به نام "سیستم اعلام نمره "که از دو بخش تشکیل شده :
1- یه کامپوننت برای بخش مدیریت جوملا که تقریبا ساختار اصلیش تموم شده ، اما یه کم خورده کاری داره هنوز.
2-یه کامپوننت برای بخش سایت که قصد دارم با کمک شما دوستان عزیز شروعش کنم.
این سیستم اعلام نمره سلیقه ای طراحی شده و هدف اصلی من از کار کردن این پروژه یاد گرفتن ساخت افزونه واسه جوملا بوده و هست.
امکاناتی که بخش دوم این سیستم داره(بخشی که دانشجوها باید باهاش کار کنن) رو عرض می کنم خدمتتون:
1-لاگین به سیستم از طریق شماره دانشجویی و پسوردی که قبلا توسط استاد براشون تعریف شده.
2-ویرایش پروفایل
3-مشاهده نمرات
4-در صورت نیاز ، اعتراض به نمره و پیگیری اون
5-مشاهده وضعیت حضور و غیابشون در طول ترم
پست اول رو می ذارم واسه شرح پروژه و تو هر کدوم از پست های بعدی دونه دونه سوالامو می پرسم.
راستی من دنبال اضافه کردن تعداد پست هام نیستم اگه سوالامو دونه دونه می پرسم برای راحتی کاره،اگه ممکنه پست ها رو ادغام نکنید ولی بازم اگه صلاح دونستید این کار رو انجام بدید حرفی نیست،من تابع مقرراتم.
ممنون از لطف همه دوستانی که تو رسیدن به هدفم به من کمک می کنن.
پاینده باشید
جهت مشاهده لینک ها باید ثبت نام کنید یا لاگین کنید.
-
-
10-05-2010 05:47 PM
# ADS
تبلیغات در جوملا فارسی
-
پاسخ : پیاده سازی سیستم اعلام نمره
من تا الان برای اجرای کامپوننت بخش مدیریت (کامپوننتی که نوشته شده تا الان) ، توی نوار آدرس مرورگر پارامتر آپشن رو با نام کامپوننت مقدار دهی می کردم تا به کنترل پنل کامپوننت وارد بشم، اما قطعا بعد از تکمیل این سیستم ، نباید اینجوری باشه ، باید عنوان کامپوننت توی منوی بخش مدیریت ظاهر بشه ، فکر می کنم اینو باید توی فایل xml که برای کامپوننت می سازم تعیین کنم.
حالا سوالم اینه که :
این فایل xml رو الان بسازم یا نه صبر کنم بخش دوم پروژه هم تموم بشه بعد بسازمش؟
منظورم اینه که این سیستم که از دو تا کامپوننت ساخته شده یه فایل xml داره یا نه واسه هر کامپوننت یکی لازمه!
جهت مشاهده لینک ها باید ثبت نام کنید یا لاگین کنید.
-
-
پاسخ : پیاده سازی سیستم اعلام نمره
سلام
شما میتونید فایل xml را بسازید
و در مرحله بعدی گسترشش بدید.
یا علی
جهت مشاهده لینک ها باید ثبت نام کنید یا لاگین کنید.
-
-
پاسخ : پیاده سازی سیستم اعلام نمره
سلام
خب پس می ریم سراغ فایل xml
با توجه به نمونه ای که اینجا >> docs.joomla.org/Components:xml_installfile در دسترس هست و من اونو تو این پست می ذارم با بخش هایی که یه فایل xml نیاز داره آشنا می شیم.
من چیزی که خودم متوجه شدم از این نمونه رو اینجا می نویسم ، لطفا دوستان بررسی کنید که درست متوجه شدم یا نه؟
البته خودشم توضیح داده ، ولی برای گرفتن تائیدیه از دوستان مطرح می کنم!!!
کد:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE install SYSTEM "[مهمان/کاربر گرامی برای دیدن لینک ها ابتدا باید عضو سایت شوید و لاگین کنید برای ثبت نام اینجا کلیک کنید]
<install type="component" version="1.5.0">
<name>Hello World</name>
<creationDate>2007-01-17</creationDate>
<author>John Doe</author>
<authorEmail>john.doe@example.org</authorEmail>
<authorUrl>[مهمان/کاربر گرامی برای دیدن لینک ها ابتدا باید عضو سایت شوید و لاگین کنید برای ثبت نام اینجا کلیک کنید]
<copyright>Copyright Info</copyright>
<license>License Info with link</license>
<version>1.0.1</version>
<releaseDate>2010-05-14</releaseDate>
<releaseType>Major update</releaseType>
<downloadUrl>[مهمان/کاربر گرامی برای دیدن لینک ها ابتدا باید عضو سایت شوید و لاگین کنید برای ثبت نام اینجا کلیک کنید]
<description>Description of the component ...</description>
این قسمت که مربوط می شه به خصوصیات خود کامپوننت ، همونطور که از اسم تگ ها هم معلومه خصوصیاتی مثل نام کامپوننت،تاریخ ایجاد،نام ناشر،ایمیل ناشر،آدرس سایت ناشر،کپی رایت،لایسنس،ورژن کامپوننت،تاریخ ثبت،نوع ثبت،لینک دانلود و توضیحات. اونطوری که گفته به جز نام کامپوننت ، بقیه پارامترهای این بخش اختیاری هستن.
کد:
<!-- Custom Install Script to execute -->
<!-- Note: This will be copied from the root of the installation package to the administrator directory automatically -->
<installfile>install.helloworld.php</installfile>
<!-- Custom Uninstall Script to execute -->
<!-- Note: This will be copied from the root of the installation package to the administrator directory automatically -->
<uninstallfile>uninstall.helloworld.php</uninstallfile>
این قسمت رو من نمی دونم چیه! لطفا راهنمایی کنید.
کد:
<!-- Install Database Section -->
<install>
<sql>
<file driver="mysql" charset="utf8">install.mysql.utf8.sql</file>
<file driver="mysql">install.mysql.nonutf8.sql</file>
</sql>
</install>
<!-- Uninstall Database Section -->
<uninstall>
<sql>
<file driver="mysql" charset="utf8">uninstall.mysql.utf8.sql</file>
<file driver="mysql">uninstall.mysql.nonutf8.sql</file>
</sql>
</uninstall>
تو این قسمت فایلهای حاوی دستورات sql مربوط به ساخت(install) و حذف(unistall) جداول مربوط به این کامپوننت که باید توی دیتابیس جوملا اضافه یا حذف بشن قرار می گیره.
حالا سوال :
چرا واسه هر کدوم 2 تا فایل هست؟ اولی charset رو ست کرده و دومی نه؟
این دوتا فایل چه فرقی دارن با هم ؟
و اینکه هر کدوم از این فایل ها باید توی روت کامپوننت باشن؟دقیقا کجا باید قرار بگیرن؟
کد:
<!-- Site Main File Copy Section -->
<files>
<filename>index.html</filename>
<filename>helloworld.php</filename>
<folder>views</folder>
</files>
فکر کنم اینجا باید ریز تمام فایل ها و فولدر های مربوط به بخش نانوشته کامپوننت من قرار بگیره ، یعنی اون بخشی از کامپوننت که مربوط به بخش سایت هست،درسته؟
کد:
<!-- Site Main Language File Copy Section -->
<languages>
<language tag="en-GB">en-GB.com_test.ini</language>
<language tag="de-DE">de-DE.com_test.ini</language>
<language tag="nl-NL">nl-NL.com_test.ini</language>
</languages>
<!-- Site Main Media File Copy Section -->
<media destination="com_helloworld">
<filename>image.png</filename>
<filename>flash.swf</filename>
</media>
تو این قسمت فایل های زبان و مدیا برای بخش سایت،نه مدیریت!،معرفی می شن.
کد:
<administration>
<!-- Administration Menu Section -->
<!-- Name to display at the component menu. Should be the same as the extension commercial name -->
<menu img="components/com_helloworld/images/helloworld_icon.png">Hello World</menu>
<submenu>
<!-- Note that all & must be escaped to &amp; for the file to be valid XML and be parsed by the installer -->
<menu link="option=com_helloworld&amp;controller=config">Configuration</menu>
<!-- Instead of link you can specify individual link attributes -->
<menu img="icon" task="hello" controller="z" view="a" layout="b" sub="c">Hello Again!</menu>
<menu view="test" layout="foo">Testing Foo Layout</menu>
</submenu>
از اینجا به بعد دیگه مربوط می شه به بخش مدیریت !
نامی که قراره توی منوی مدیریت نمایش داده بشه به همراه زیرمنوهای احتمالی اینجا معرفی می شن. توی زیرمنوها می تونیم به جای اینکه به صفحه خاصی لینک بدیم ، مستقیما تعیین کنیم تسک خاصی اجرا بشه.
کد:
<!-- Administration Main File Copy Section -->
<!-- Note the folder attribute: This attribute describes the folder
to copy FROM in the package to install therefore files copied
in this section are copied from /admin/ in the package -->
<files folder="admin">
<filename>index.html</filename>
<filename>admin.helloworld.php</filename>
</files>
<!-- Administration Language File Copy Section -->
<languages folder="admin">
<language tag="en-GB">en-GB.com_helloworld.ini</language>
<language tag="de-DE">de-DE.com_helloworld.ini</language>
<language tag="nl-NL">nl-NL.com_helloworld.ini</language>
</languages>
<!-- Administration Main Media File Copy Section -->
<media folder="admin" destination="com_helloworld">
<filename>admin-image.png</filename>
<filename>admin-flash.swf</filename>
</media>
</administration>
</install>
تو قسمت آخر هم مشابه قسمت سایت ، که یه خورده بالاتر گفتم ، باید ریز فایل ها و فولدرهایی که کامپوننت تو بخش مدیریت داره و همینطور فایل های زبان و مدیا رو معرفی کنیم.
پایان
دوستان بازم می گم من تجربه ام خیلی کمه اگه جایی رو کم یا اشتباه گفتم لطفا اصلاح کنید.
من بعد از دریافت توضیح در مورد قسمت هایی از این پست که قرمز رنگ نشون داده شدن می رم که این فایل رو بسازم ، منتظرم ...
ممنون
** فاصله های اضافی حذف شد.
جهت مشاهده لینک ها باید ثبت نام کنید یا لاگین کنید.
-
-
پاسخ : پیاده سازی سیستم اعلام نمره
سلام
[quote author=yal link=topic=29779.msg148758#msg148758 date=1286386242]
کد:
<!-- Custom Install Script to execute -->
<!-- Note: This will be copied from the root of the installation package to the administrator directory automatically -->
<installfile>install.helloworld.php</installfile>
<!-- Custom Uninstall Script to execute -->
<!-- Note: This will be copied from the root of the installation package to the administrator directory automatically -->
<uninstallfile>uninstall.helloworld.php</uninstallfile>
این قسمت رو من نمی دونم چیه! لطفا راهنمایی کنید.
[/quote]
این قسمت مربوط به اسکریپتی هست که هنگام نصب یا حذف کامپوننت اجرا خواهد شد.
[quote author=yal link=topic=29779.msg148758#msg148758 date=1286386242]
چرا واسه هر کدوم 2 تا فایل هست؟ اولی charset رو ست کرده و دومی نه؟
این دوتا فایل چه فرقی دارن با هم ؟
و اینکه هر کدوم از این فایل ها باید توی روت کامپوننت باشن؟دقیقا کجا باید قرار بگیرن؟
[/quote]
در خصیصه charset مجموعه کاراکتر مورد استفاده قرار می گیره. تنها مجموعه کاراکتر قابل قبول در این قسمت utf8 هست!
درصورتی که می خواید فایل نصب رو برای دیتابیس های غیر uft8 بسازید، این خصیصه (charset) رو کلا باید حذف کنید.
[quote author=yal link=topic=29779.msg148758#msg148758 date=1286386242]
فکر کنم اینجا باید ریز تمام فایل ها و فولدر های مربوط به بخش نانوشته کامپوننت من قرار بگیره ، یعنی اون بخشی از کامپوننت که مربوط به بخش سایت هست،درسته؟
[/quote]
این قسمت مربوط به فهرست فایل های بخش کاربری کامپوننت هست.
یا علی
جهت مشاهده لینک ها باید ثبت نام کنید یا لاگین کنید.
-
-
پاسخ : پیاده سازی سیستم اعلام نمره
سلام
[quote author=سعید link=topic=29779.msg148788#msg148788 date=1286400132]
این قسمت مربوط به اسکریپتی هست که هنگام نصب یا حذف کامپوننت اجرا خواهد شد.
[/quote]
می شه بیشتر توضیح بدین؟
آیا وجود این اسکریپت که می گین برای همه کامپوننت ها الزامیه؟
کلا محتواش چیه؟
[quote author=سعید link=topic=29779.msg148788#msg148788 date=1286400132]
در خصیصه charset مجموعه کاراکتر مورد استفاده قرار می گیره. تنها مجموعه کاراکتر قابل قبول در این قسمت utf8 هست!
درصورتی که می خواید فایل نصب رو برای دیتابیس های غیر uft8 بسازید، این خصیصه (charset) رو کلا باید حذف کنید.
[/quote]
پس من برای کامپوننتم چه برای نصب و چه برای حذف جداول باید از تگ اول که کاراکترست رو تعیین کرده استفاده کنم،درسته؟
اینو هم بگین که هر کدوم از این فایل ها (install.mysql.utf8.sql و ...unistall) دقیقا کجا باید قرار بگیرن؟
ممنون
جهت مشاهده لینک ها باید ثبت نام کنید یا لاگین کنید.
-
-
پاسخ : پیاده سازی سیستم اعلام نمره
[quote author=yal link=topic=29779.msg148809#msg148809 date=1286438745]
می شه بیشتر توضیح بدین؟
آیا وجود این اسکریپت که می گین برای همه کامپوننت ها الزامیه؟
کلا محتواش چیه؟
[/quote]
سلام.
ممکنه بعد از نصب، علاوه بر کارهایی که از در فایل xml مشخص می کنید و بصورت اتوماتیک انجام میشه، نیاز به تغییراتی در فایلهای کامپوننت یا دیتابیس یا ... داشته باشید.
یا اینکه موقع حذف کامپوننت، این تغییرات به حالت اولیه برگرده.
دراینصورت می تونید کدی بنویسید که تغییرات موردنظر رو انجام بده و کد رو در یک فایل ذخیره کنید. این تگ اون فایل رو مشخص می کنه که موقع نصب یا حذف اجرا میشه.
الزامی برای اجرای یک اسکریپت موقع نصب یا حذف نیست.
[quote author=yal link=topic=29779.msg148809#msg148809 date=1286438745]
پس من برای کامپوننتم چه برای نصب و چه برای حذف جداول باید از تگ اول که کاراکترست رو تعیین کرده استفاده کنم،درسته؟
[/quote]
پاسخ قبلی رو مجددا مطالعه کنید 
[quote author=yal link=topic=29779.msg148809#msg148809 date=1286438745]
اینو هم بگین که هر کدوم از این فایل ها (install.mysql.utf8.sql و ...unistall) دقیقا کجا باید قرار بگیرن؟
[/quote]
فایل ها در داخل بسته نصب کامپوننت قرار می گیرند.
یا علی
جهت مشاهده لینک ها باید ثبت نام کنید یا لاگین کنید.
-
-
پاسخ : پیاده سازی سیستم اعلام نمره
یه نکته : من تو پست اول از دوستانی که لطف می کنن و پاسخ می دن تقاضا کردم که در برابر من و سوالاتم که ممکنه باعث آزارشون بشه صبوری به خرج بدن.
در مورد اسکریپت ، منظور شما از کد ، همون دستورات sql هست؟
جهت مشاهده لینک ها باید ثبت نام کنید یا لاگین کنید.
-
-
پاسخ : پیاده سازی سیستم اعلام نمره
سلام.
ما در این انجمن برای راهنمایی کاربران جمع شدیم و تا جایی که در توانمون باشه و قوانین اجازه بده سعیمون این هست به کاربران کمک کنیم.
[quote author=yal link=topic=29779.msg148818#msg148818 date=1286443770]
در مورد اسکریپت ، منظور شما از کد ، همون دستورات sql هست؟
[/quote]
سلام. خیر. منظور پاسخ به این سوال شما بود:
[quote author=سعید link=topic=29779.msg148788#msg148788 date=1286400132]
[quote author=yal link=topic=29779.msg148758#msg148758 date=1286386242]
کد:
<!-- Custom Install Script to execute -->
<!-- Note: This will be copied from the root of the installation package to the administrator directory automatically -->
<installfile>install.helloworld.php</installfile>
<!-- Custom Uninstall Script to execute -->
<!-- Note: This will be copied from the root of the installation package to the administrator directory automatically -->
<uninstallfile>uninstall.helloworld.php</uninstallfile>
این قسمت رو من نمی دونم چیه! لطفا راهنمایی کنید.
[/quote]
این قسمت مربوط به اسکریپتی هست که هنگام نصب یا حذف کامپوننت اجرا خواهد شد.
[/quote]
همونطور که از اسم فایل مشخصه، این یک اسکرپیت PHP هست که البته در این اسکریپت php ، می تونید دستوری بنویسید که یک پرس و جوی MySQL رو هم اجرا کنه.
یا علی
جهت مشاهده لینک ها باید ثبت نام کنید یا لاگین کنید.
-
-
پاسخ : پیاده سازی سیستم اعلام نمره
خب حالا می خوام فایل xml رو بسازم.
کامپوننت بخش مدیریت این پروژه یه ساختار داره که مثلا اینجوریه :
com_name
controllers
c-1.php
.
models
m-1.php
.
views
v-1.php
.
index.php
admin.name.php
.
اما برای ساخت فایل xml که باید هر دو قسمت مدیریت و کاربری تفکیک شده باشن ، فکر کنم باید یه فولدر بسازم به نام کامپوننت با این ساختار :
com_name
admin
تو این قسمت محتوای com_name که چند خط بالاتر گفتم رو کپی کنم (کامپوننت بخش مدیریت)
site
تو این قسمت هم کامپوننتی که قراره واسه بخش کاربری نوشته بشه
و فایل xml رو هم بذارم توی این فولدر جدید که محتواش 2 تا فولدره به نام های admin و site .
درسته؟
راستی اسم فایل xml همنام با خود کامپوننته مثلا name.xml ؟
هیچ واژه اضافه ای نداره؟
جهت مشاهده لینک ها باید ثبت نام کنید یا لاگین کنید.
-
علاقه مندی ها (Bookmarks)