اضافه کردن فیلد جدید به فرم ثبت نام جوملا

ممکن است برای عضو گیری جوملا لازم باشد اطلاعات بیشتری را از کاربر دریافت کنید مثلا تلفن یا آدرس و …

این کار را یک پلاگین تجاری برای شما انجام می دهد ، اما اگر این نوشته را تا انتها دنبال کنید و اطلاعات مختصری از HTML داشته باشید میتوانید بدون استفاده از هیچ پلاگینی و تنها با تغییر کدهای هسته ی جوملا و دیتابیس به سادگی فرم ثبت نام جوملا را سفارشی کنید .

ابتدا برای هر فیلدی که میخواهید اضافه کنید می بایست با phpMyadmin یک ستون در جدول Jos_user بسازید ، مثلا برای ساختن فیلدهای آدرس و تلفن میتوانید بطور دستی این کار را بکنید یا عبارات زیر را در قسمت SQL اجرا کنید .

(بیشتر…)

دریافت پارامترهای ماژول و پلاگین و قالب و کامپوننتهای جوملا از فایلهای params

پارمترهایی که در قسمت parameters در کامپوننت ها و ماژولها و پلاگینهای مختلف تنظیم می شوند در تمام قسمتهای دیگر جوملا قابل استفاده می باشند ، این اطلاعات در فایلهای XML ذخیره می شوند نه دیتابیس ، در نتیجه برای دسترسی به اطلاعات داخل این فایلهای XML می بایست از دستورات دیگری استفاده کنیم ، همچنین دستورات برای استفاده از اطلاعات در داخل خود افزونه با بیرون آن متفاوت است . مثلا فرض کنید می خواهید با توجه به تعداد پستهایی که در منویی خاص برای نشان دادن تنظیم شده است ، عملکرد قالب را تغییر دهید ، یا از اطلاعات یک پلاگین در کامپوننت دیگر استفده نمایید . در این نوشته قصد دارم نحوه ی دریافت این اطلاعات را شرح دهم .

(بیشتر…)

امنیت در برنامه نویسی کامپوننت تحت جوملا

فریم ورک ها معمولا دستوراتی برای تحلیل داده ها و افزایش امنیت آنها ارائه می دهند ، جوملا از این قاعده مستثنی نیست ، گرچه این CMS تا به حال خیلی به دلایل امنیتی آپدیت شده و می شود ، اما می بایست برای برنامه نویسی تحت جوملا این دستورات را شناخت و استفاده نمود ، چون هنگام آپدیت کتابخانه های آن دستورات تغییری نمی کنند و با استفاده از همان دستورات پیشین جوملای امن تری خواهید داشت . با اینکه هیچ موقع امنیت 100 درصد نمی شود اما باید تلاش کرد حدالامکان این امنیت را افزود .

(بیشتر…)

3 کتاب برای آموزش گسترش افزونه های جوملا با PHP برای دانلود

در این نوشته 3 تا از کتابهایی که مربوط به گسترش افزونه های جوملا می باشد را برای دانلود رایگان قرار می دهم . این کتابها به زبان انگلیسی می باشند و بسیار مفید و با مثال توضیح داده شده است . دقت شود پیش نیاز اینکه بتوانید از این کتابها استفاده کنید اینست که حتما به شیء گرایی و کلاس نویسی با php مسلط باشید . همچنین آشنا با سیستم MVC یا Model view controller نیز باشید .

1-

نام کتاب :  Joomla 1.5 Development Cookbook

نام نویسنده : James Kennard

توضیحات : Solve real world Joomla! 1.5 development problems with over 130 simple but incredibly useful recipes

دانلود مستقیم

(بیشتر…)

گرفتن log از فعالیت مدیران بر روی یک کامپوننت خاص از جوملا

در جوملا می توان چند کاربر و چند سطح دسترسی برای مدیریت پشت سایت اضافه نمود ، اما کنترل اینکه کدام یک از مدیران تغییراتی را در کامپوننت خاصی اعمال کرده اند با امکانات خود جوملا امکان پذیر نیست ، در این نوشته قصد دارم ابتدا از کلاس تولید Log در فایل سورس کامپوننت جوملا استفاده کنم و همه ی تغییرات های بعدی را در یک فایل ثبت کنم و در آخر هم تغییر همزمان کامپوننت توسط چند مدیر را محدود کنم ، طوری که وقتی یک مدیر به قسمت تغییرات کامپوننت جوملا رفت برای دیگر مدیران آن قسمت قفل شود و قالب تغییر نباشد تا مدیر ذخیره یا انصراف را بزند .

1- استفاده از کلاس Log جوملا :

اگر با نحوه ی کارکرد سیستم MVC آشنا باشید ارتباط با دیتابیس از طریق model های نوشته شده انجام می گیرد . چون تغییراتی که مد نظر ماست هنگام save کردن فرم کاربری می بایست log برداری شود پس باید تغییرات را در پوشه ی model که کار ذخیره کردن را انجام می دهد انجام دهیم .

مثلا فرض کنیم بخواهیم تغییرات در قسمت مدیریت کاربر را log برداری کنیم ، طوری که وقتی مدیری وارد تنظیمات کاربری یک کاربر شد و دگمه save را زد ذخیره شود که در چه زمانی و توسط چه کسی چه کاربری تغییر کرده ، یا اگر کاربر جدیدی ساخته شد ، ذخیره شود که چه کسی آن را ساخته است . به نظر خیلی جالب و مفید خواهد بود مخصوصا وقتی چندین سوپر مدیر سایت داشته باشد .

(بیشتر…)

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

جوملا بطور پیش فرض از کتابخانه mootools استفاده می کند ، Jquery   هم مانند mootools و شاید بیشتر از آن ، استفاده های زیادی در طراحی وب دارد ، پلاگین های بسیاری بر اساس Jquery نوشته شده ، در این نوشته قصد دارم نحوه ی اضافه کردن این کتابخانه و عدم تداخل با Mootools در کامپوننتی که برای جوملا می نویسیم ، شرح دهم .

 

 

جوملا برای عدم تداخل این دو کتابخانه خودش یک تابع ایجاد کرده که کافیست بلافاصله بعد از لود کردن Jquery این تابع هم صدا زده شود .

(بیشتر…)

علامت سوال ؟؟؟؟؟ شدن نوشته های یک سایت

کارکترهای فارسی می بایست در همه جای وب بصورت UTF-8 اجرا شوند . چه در نوع ذخیره شدن فایلهای فارسی توسط Editor و چه در ذخیره ی اطلاعات در دیتابیس . در این نوشته قصد دارم راه حلهایی برای حالتی را پیشنهاد بدهم که مطالب موجود در دیتابیس بصورت علامت سوال است .

اگر یک سایتی یا کامپوننتی مثلا از جوملا ،  را تازه روی یک سرور نصب کنید و مشاهده کنید که نوشته ها بصورت علامت سوال در می آید معمولا مشکل از charset دیتابیس است ، برای سیستم های مدیریت محتوا مثل جوملا خیلی پیش آمده که بعد از نصب یک کامپوننت نوشته هایی که مربوط به آن کامپوننت می باشد بصورت علامت سوال در می آید.

البته ممکن است حدس شما در مورد utf-8 نبودن دیتابیس اشتباه باشد و قالب نوشته شده بصورت utf-8 ذخیره نشده باشد یا نوع ut-8 در ادیتورهایی که چند حالت برای utf-8 دارند بر روی utf-8 without BOM قرار ندارد و این باعث به هم ریختگی نوشته های پیش فرض قالب شده باشد . برای مشخص شدن منبع این اشکال کافیست وارد phpmyadmin بشوید و در دیتابیس دنبال نوشته های فارسی باشید ، اگر آنجا هم بصورت علامت سوال بود مشکل از دیتابیس است اما اگر در آنجا درست ذخیره شده بود باید نگاهی charset قالب بیندازید و در تگ HEAD سورس آن چک کنید که این عبارات موجود باشد :

<html xmlns="http://www.w3.org/1999/xhtml" dir="rtl" lang="fa-IR">

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

حال در ادامه این نوشته حالتی را در نظر می گیریم که اطلاعات مشاهده شده در دیتابیس مشکل دارند .

(بیشتر…)