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

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

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

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

(بیشتر…)

استفاده از کدهای PHP در داخل پستهای وردپرس

بعضی وقتها لازم است برای شخصی تر کردن وردپرس ، کدهایی را در هنگام اجرای پستهای خاصی اجرا کرد ، فرض کنید می خواهید دسترسی بعضی پستها را محدود به کاربران کنید و خیلی کارهای خاص دیگر که بین همه ی پستها عمومیت ندارد . با استفاده از shortCode ها می توان کدهای PHP را از داخل ویرایشگر فراخوانی و اجرا کرد .

همچنین در ادامه نحوه ی استفاده از ShortCode ها را در Widget ها یا ابزارک های پوسته شرح می دهم .
(بیشتر…)

دریافت پارامترهای ماژول و پلاگین و قالب و کامپوننتهای جوملا از فایلهای 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" />

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

(بیشتر…)

تغییر ایمیل پیش فرض وردپرس در ارسالهای خودکار

در وردپرس هنگام ساخت کاربر جدید و ارسال اطلاعات به ایمیل کاربر یا ارسال ایمیل مربوط به کامنت جدید و …  ، آدرس فرستنده با پیشوند wordpress می باشد یعنی بصورت  wordpress@your-site.com می باشد . اگر مایل هستید ایمیل ارسال شده از طرف سایت را تغییر نام دهید 2 راه پیش رو دارید .

 

1- فایل Function.php موجود در پوشه قالب فعال را باز کرده و مقادیر زیر را در آن کپی نمایید :

add_filter('wp_mail_from', 'new_mail_from');
add_filter('wp_mail_from_name', 'new_mail_from_name');

function new_mail_from($old) {
 return 'admin@yourblogname.com';
}
function new_mail_from_name($old) {
 return 'Blog Name';
}

در خطوط بالا بجای admin@yourblogname.com  آدرس ایمیل دلخواه خود را بنویسید .
2- پلاگین Mail From را نصب کنید و مقادیر دلخواه خود را در آن وارد کنید .

 

معرفی 7 پلاگین ضروری برای وردپرس

برای هر سایتی که مبتنی بر وردپرس باشد بعضی از پلاگین ها لازم است . مثلا جلوگیری از اسپم کامنتها یا سریع لود شدن سایت یا بک آپ گیری از دیتابیس و … در این نوشته قصد دارم چند پلاگین ضروری را همراه با سایت آنها به شما معرفی کنم .

 

1- All in One Seo Pack

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

2- Google XML Sitemap

این پلاگین یک Google XML Sitemap از سایت شما درست می کند . استفاده این نقشه سایت برای ایندکس کردن بهتر موتور های جستجو مخصوصا گوگل می باشد . در بسیاری از موارد بصورت خودکار گوگل ایندکس می کند اما اگر با استفاده از این پلاگین چیزی از قلم نخواهد افتاد .

3- WP Super Cache

این پلاگین صفحه ی مبتنی بر PHP وردپرس شما را بطور موقت بصورت خروجی HTML در Cash ذخیره می کند تا در هر بار لود صفحه فرامین و دستورات PHP اجرا نشود و با دیتابیس ارتباط برقرار نکند ، برای سایتهایی که لود بالایی دارند بسیار مفید خواهد بود .

4- TinyMCE Advanced

این پلاگین ادیتور پیش فرض وردپرس سایت شما را پیشرفته تر می کند و گزینه های بیشتری را به آن اضافه می کند .

5- Google Analytics

مزیت استفاده از پلاگین Google Analytics بجای کد اسکریپت گرفته شده از سایت گوگل این است که با استفاده از این پلاگین قادر خواهید بود به تفکیک مجموعه و نویسنده هم بازدید ها را ببینید .

6- WP DB Backup با استفاده از این پلاگین بیشترکارهایی که قبلا از طریق phpmyadmin انجام می دادید مثلا بک آپ گیری یا برگرداندن بک آپ یا تغییر در جداول و …  را می توانید از طریق مدیریت انجام دهید . برای سایتهایی که هاست خود را در اختیار ندارند ولی لازم دارند تا بک آپ از دیتابیس خود تهیه کنند بسیار گزینه مناسبی است .

7 – Pixelstats این هم آمارگیر دیگری مثل Google Analytics می باشد . از قابلیت های آن محسوب کردن بازدید از خوراک ها به آمار بازدید می باشد که بسیار ابزار مفیدی خواهد بود . همچنین  مقالاتی که در صفحه اول بدون کلیک شدن هم نمایش داده می شوند هم محسوب می کند .