نکات اساسی کدنویسی در MODx Evolution
در این مقاله APIهای مهم و نکات به دردبخور کدنویسی در مادایکس Evolution معرفی خواهد شد. این مقاله نه ترجمه است و نه براساس الگوی خاصی نوشته شده. اینها تجربیات من از کدنویسی در مادایکس هستند. اونجوری که فهمیدم توضیح میدم و اونهایی که به نظرم پرکاربردتر هستند رو معرفی می کنم.
مقاله یکم طولانیه ولی به درد میخوره اگر بخوای کدنویسی در مادایکس Evolution رو شروع کنی یا یه اطلاعاتی ازش بدست بیاری. ادامه آموزش...
برچسب ها: evolution,tutorial
تابع JavaScript برای کنترل لینکهای External
یکی از تمایلات وبلاگنویسها اینه که لینکهای خارجی، در یک تب یا پنجره جدید باز بشه. شاید این تمایل برای تو هم مثل من یکم دیر بوجود اومده باشه و پیدا کردن و اصلاح لینکها ممکن نباشه.
خوب علم پیشرفت کرده. من این کد کوچیک رو واسه همین وبلاگ نوشتم. شاید به درد تو هم بخوره:
var hostname = window.location.hostname;
var anchors = document.getElementsByTagName("a");
for(var i=0; i<anchors.length; i++) {
if( anchors[i].href
&& anchors[i].href.indexOf(hostname) == -1
&& !anchors[i].target
) {
anchors[i].target = "_blank";
}
}
از اونجایی که کار نصفه و نیمه جواب نمیده و چون این وبلاگ بخش MooTools و jQuery هم داره. این کد رو با این دو فریم ورک هم می نویسم محض نمونه و مثال از این فریم ورکها:
انتخابگر هر دوشون مثل هم هست و به شکل زیره:
var hostname = window.location.hostname;
var selector = 'a[href]:not([href*='+hostname+']):not([target]';
-
MooTools:
$$(selector).set('target', '_blank');
-
jQuery:
$(selector).attr('target', '_blank');
من اینجا یکم محدودیت عرضی دارم که طول خطوط کدها طولانی نشه وگرنه این کدها رو میشه تو یک خط اجرا کرد بجای اینکه هر تیکه اش رو تو یه متغیر بریزیم.
برچسب ها: javascript,solution
تحولات جدید Ext JS
Ext JS هفته پیش اعلام کرد که اسم شرکتش رو از Ext JS به Sencha که نام یک نوع چای سبز ژاپنی هست، تغییر داده. این کار بخاطر پیوستن آقای David Kaneda و Dmitry Baranovskiy به این شرکت برای پروژه های بزرگتر اعلام شده.
Ext JS در واقع اسم پروژه و نام شرکت سازنده اش بوده ولی بخاطر اینکه با این دو برنامه نویس ترکیب شده، نام Ext JS رو مخصوص فریم ورکش قرار داده و نام Sencha رو روی شرکتش گذاشته. انگیزه اشون از این کار رو هم آینده نگری توصیف کردند که و گفتند که وب در حال پیش رفتن به سمت نمایه های گرافیکی بیشتر و استفاده تحت دستگاههای قابل حمل مثل موبایل هست و اگر روی این موارد تمرکز کنیم، برای آینده حرف تازه ای برای زدن خواهیم داشت.
دیروز من این خبر رو توی سایت extjs.com خوندم که گفته بود داریم جمع می کنیم میریم sencha.com و امروز extjs.com دیگه مستقیما به sencha.com منتقل میشه.
Ext JS
Ext JS یک فریم ورک خیلی قوی و کامل تحت جاوااسکریپت برای ساختن UI یا اینترفیس هست. Ext JS هر چیزی که از ذهن من و شما رد بشه رو داره و این قابلیتها رو با ساختار واقعا فوق العاده ای فراهم کرده. وقتی شروع به استفاده یا یادگیری اش کنی میفهمی که سیستمی با این وسعت و حجم، چه ارتباط جالبی بینش برقراره.
اینکه چندان اسمش شنیده نمیشه بخاطر چند تا نکته است. اول اینکه گستردگی و حجم امکانات این فریم ورک خیلی بالاست و یادگیری اش واقعا زمانبره. دوم اینکه این فریم ورک مخصوص طراحی بخشهای خاص ساخته شده نه مثل jQuery برای سایتهای عادی. برای همین موضوع حجم کدهاش خیلی بالاست. برای صفحه ای که از این فریم ورک استفاده کرده، تقریبا باید یک مگابایت فایل جاواسکریپت و سی اس اس لود کنیم. سومین دلیل هم اینه که استفاده از Ext JS مفت مفت هم نیست. برای استفاده های تجاری و مشابهش باید لایسنسشون رو خریداری کنیم ولی برای استفاده های عادی، رایگانه. وارد لینک زیر شو، دموهاش رو ببین و لذت ببر.
آدرس: /www.Sencha.com/products/js
Dmitry Baranovskiy:
سازنده یک فریم ورک جاوااسکریپت واقعا خفن به نام Raphaël هست که با محوریت فعالیتهای گرافیکی ایجاد شده. کتابخانه Raphaël با Canvas و SVG و جاوااسکریپت جادو می کنه! باور نمی کنی که چه چیزهایی ازش برمیاد. حتما دموهای سایتش رو چک کن. مثلا توی چند تا خط، یک چارت خیلی شیک میسازیم که قابلیتهای خیلی زیادی داره. (اگه نبینی از دستت میره).
آدرس: www.Raphaeljs.com
David Kaneda:
ایشون هم نویسنده jQTouch هستند. jQTouch یک پلاگین jQuery هست که باهاش UI برای موبایل ساخته میشه. استایلها و افکتهاش درست شکل iPhone هستند. یعنی اگر بخوایم سایتی مخصوص موبایل یا iPad و مشابهش طراحی کنیم که اینترفیسش شبیه iPhone کار کنه، jQTouch به درد میخوره.
آدرس: www.jQTouch.com
خلاصه اینکه سه تا غول جاوااسکریپت کنار هم جمع شدند تا کارهای خارق العاده بکنند. اولین نمونه اشون هم محصولی به نام Sencha Touch هست با عنوان اولین فریم ورک اپلیکیشن های موبایل تحت HTML5.
منبع: Sencha blog: Ext JS + jQTouch + Raphaël = Sencha
!-->
برچسب ها: ext js,framework,javascript,خبر
آفتابه لگن هفت دست ولی بازدیدکننده و خواننده هیچی!
حتما دیدی توی پارکها روی چمنها یه تابلو زدند و روش نوشتند "لطفا وارد چمن نشوید!". دو تا امکان جدید به این بلاگ اضافه کردم که بیشتر نقش دکور رو دارند تا کاربرد درست و حسابی.
توی این بلاگ، فرم کامنت یه جورایی واسه قشنگیه، هیچکس ازش استفاده نمی کنه. حالا این قابلیتهایی که اضافه کردم، کاربردشون از کامنت هم کمتره و مثل چمنی می مونه که روش نوشته "لطفا وارد چمن نشوید!" و کسی طرفشون نمیره مگر بعضی بچه های شیطون.
اول قابلیت Bookmark پستهاست. در لیست پستها مثل صفحه اول، همونجور که در تصویر قابل مشاهده است، آیکونهایی برای Bookmark قرار داده شده.

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

همینطور وقتی وارد دسته ای میشی یعنی مثلا روی یکی از لینکهای منوی سایت مثل "پی اچ پی" یا "دفتر یادداشت" کلیک می کنی و به صفحه اش بری، لینک RSS Feed اون دسته رو کنار عنوانش مشاهده می کنی.

همیشه رو به راه باشی!
برچسب ها: خبر
کنترل و بدست گیری مقادیر زمان بین زبانهای برنامه نویسی
یکی از روشهای خیلی خوب بدست گیری زمان در برنامه نویسی، استفاده از زمان به شکل Timestamp تعریف شده در Unix است.
Timestamp ثانیه های طی شده از 00:00 1970/01/01 تا الانه. همونجوری که واضحه، زمان به این شکل، یک عدد صحیح خواهد بود و مهمترین خاصیتش سهولت نگهداری و مقایسه است.
زمان در PHP بر پایه Timestamp تعریف شده ولی در MySQL و JavaScript چنین نیست و معمولا برای هماهنگی این سه زبان، مجبوریم کدهای اضافی داشته باشیم درحالیکه هر سه این زبانها، امکاناتی برای کار با Timestamp بر پایه Unix دارند.
در زیر یک مثال در هر کدوم از این زبانها قرار گرفته:
-
PHP:
$timestamp = time();
$date = date('Y F d', $timestamp);
-
MySQL:
timestamp = UNIX_TIMESTAMP()
date = FROM_UNIXTIME(UNIX_TIMESTAMP(), '%Y %D %M %h:%i:%s %x')
-
JavaScript:
var timestamp = parseInt(new Date().getTime()/1000);
var date = new Date(new Date().getTime()).getDay();
برچسب ها: javascript,mysql,php,solution
چه عجیب!
این آدما
همــــــــــیشه در حال رفت آمدند. کافیه به یکی از خیابونهای اصلی شهر بریم و میبینیم که همه در حال رفتن از جایی به جای دیگه هستند. من نفهمیدم که این آدما که اینقدر همیشه توی راه هستند، پس کی کار می کنند؟
غیر از اونایی که رفت و آمد کارشونه مثل راننده ها، بقیه واسه چی اینقدر توی خیابون میچرخند؟
چند وقت پیش داشتم از بالای بزرگراه چمران تهران رد میدشم. دیدم که تقریبا همه ساعتهای روز پر از ماشینه. این ماشینها، حامل کسایی هست که برای کار و فعالیت از خونه بیرون اومدند. چیزی که نفهمیدم این بود که رانندگی توی خیابون یا پیاده روی برای رسیدن از جایی به جای دیگه، چجور کاریه؟ کار یعنی من با تخصص و مهارتم، فعالیتی رو پیش ببرم. صبح از خونه میرم به محل کارم که همون تخصص و مهارت اینا ولی اینکه از اونجا برم یه جا دیگه و از اونجا یه جا دیگه و الی آخر کجاش مهارت و تخصص میخواد؟ البته رانندگی توی خیابونهای ایران غیر از مهارت رانندگی، کلی مهارتهای جورواجور در پیش بینی حوادث لازم داره مثل:
- پیش بینی ناشیگری های شش تا ماشین اطراف،
- پیش بینی حرکتهای شهادت طلبانه بعضی راننده ها،
- پیش بینی حرکتهای به اصطلاح زرنگی اغلب راننده ها برای مثلا سریعتر رسیدن،
- پیش بینی پیاده هایی که بجای پل دارند توی خیابون لایی بازی می کنند،
- پیش بینی چاله چوله های گود و خیلی گود خیابونها
- و در آخر پیش بینی حرکتهای خاص خودمون که میتونه از نوع ناشیگری، شهادت طلبانه یا زرنگی باشه.
بگذریم. این ترافیک به نظر من بزرگترین معضل حل نشده است که آدما ساعتهایی از روز رو بجای اینکه مشغول استفاده از تخصصشون باشند بین نقاطی در حرکتند و وقت تلف می کنند.
این اراجیف یعنی چی؟ به نظر من هرکاری که با زحمت انجام شه یا احمقانه به نظر بیاد، یه جاش میلنگه!
خدا به آدما عقل داده که واسه اینجور کارا، راه حل پیدا کنند یا به سطح علمی اش نرسیدند یا تسلیم یه سری گره کور ذهنی شدند.
یه مواقعی من اصلا از کار این آدما سر در نمیارم....
برچسب ها: آدما,فلسفه
چه ناجور!
این آدما
در پاسخ بعضی سوالها، بجای اینکه واقعیتی که رخ داده رو بگن، شروع به چرت و پرت گفتن می کنند. داستانهایی تعریف می می کنند که از خودشون ساختند و هیچوقت اتفاق نیافتاده! و بهش میگن دروغ.
این کار رو یا برای فرار از بی مسئولیتی هاشون می کنند یا برای دست انداختن مخاطب.
باحالیش اینجاست که توی نود و نه درصد مواقع، عدم صداقت کـــــاملا قابل تشخیصه و مخاطب اگر این داستان من در آوردی رو باور کنه ولی انرژی منفی گوینده رو احساس می کنه. یعنی اگر دو نفر با هم صد تا داستان تعریف کنند که مال یکی همه اش دروغ باشه و اون یکی حقیقت و ما متوجه نشیم، فردی که حقیقتگویی کرده کاملا احساس بهتری رو برای ما ایجاد کرده.
به نظر من، حقیقت یکی از مقدسترین کلمات هست و دروغ کثیفترین کلمات!
واقــــــــــــــــــــــعا امان از دست این آدما که با دروغ رابطه هاشون رو کثیف می کنند و همدیگر رو می رنجونند!
این اراجیف یعنی چی؟ به نظر من هرکاری که با زحمت انجام شه یا احمقانه به نظر بیاد، یه جاش میلنگه!
خدا به آدما عقل داده که واسه اینجور کارا، راه حل پیدا کنند یا به سطح علمی اش نرسیدند یا تسلیم یه سری گره کور ذهنی شدند.
یه مواقعی من اصلا از کار این آدما سر در نمیارم....
برچسب ها: آدما,فلسفه
آهنگ تیتراژ فیلم Avatar
من اصلا اهل فیلم تماشا کردن نیستم. یه علتش نبود وقت و حوصله است و علت دیگه اش کمبود فیلم درست و حسابیه.
چند شب پیش، سه ساعت وقت گرانبهام رو صرف تماشای فیلم Avatar کردم و در آخر فیلم، مأیوس و ناامید که از اینکه چه فیلم چرندی بود، با شروع تیتراژ پایانی، نظرم عوض شد و خدا رو شکر کردم که تا اینجای فیلم رسیدم. آهنگ آخر فیلم فوق العاده بود! جدا اگر این آهنگ آخر این فیلم نبود، آقای جیمز کامرون بخاطر ساختن این فیلم گرانبها، از من چند تا فحش کش دار میخورد.
اسم آهنگ I See You هست که خانم Leona Lewis خوندند. شعر این آهنگ واقعا لطیفه! در همین پست می تونی بخونی. از مفهوم شعر کاملا واضحه که برای این فیلم گفته شده. توی فیلم از اصطلاح "I See You" برای ابراز احترام و علاقه استفاده می کنند.
به شدت پیشنهاد می کنم این آهنگ رو گوش کنی تا توی لذت من شریک شی!
در آخر پست، نقد من از این فیلم رو می تونی مطالعه کنی و بفهمی که چرا کم فیلم تماشا می کنم!
ادامه پست...
برچسب ها: آهنگ,شعر
چه فراموشکار!
این آدما
با هم دشمن هستند و تا جایی که جا داره سر هم رو کلاه و میذارند و توی گردهمایی ای به نام جنگ ، همدیگر رو می کشند ولی بیشتر مواقعی که اختراع خوب و سودمندی می کنند با هم به اشتراک میذارند تا با هم استفاده کنند.
من نفهمیدم که خشاب پر اسلحه اشون رو باور کنم یا دلسوزی و میل به پیشرفت جمعی اشون رو....
این اراجیف یعنی چی؟ به نظر من هرکاری که با زحمت انجام شه یا احمقانه به نظر بیاد، یه جاش میلنگه!
خدا به آدما عقل داده که واسه اینجور کارا، راه حل پیدا کنند یا به سطح علمی اش نرسیدند یا تسلیم یه سری گره کور ذهنی شدند.
یه مواقعی من اصلا از کار این آدما سر در نمیارم....
برچسب ها: آدما,فلسفه
طراحی Tableless چیست؟
شاید توی طراحی قالب، به عبارت Tableless (به معنای "بدون جدول") برخورده باشی یا شنیده باشی که میگن توی طراحی از از جدول کمتر استفاده کنیم.
میخوام توضیح بدم که چرا نباید زیاد از جدول استفاده کنیم یا چرا طراحهای قالب به Tableless بودن قالبهاشون می نازند.
اول از محاسن Table میگم، بعد از معایبش و مقایسه اش با مدل CSS و در آخر یک جدول رو یکبار با تگ TABLE و یکبار توسط CSS خواهی دید. باید و نبایدهای HTMLTABLE
برچسب ها: css,solution
< قبلیبعدی >