ویرایشگر به همراه مدیریت و آپلود فایل

برای یکی از پروژه های برنامه نویسی PHP دنبال پلاگینی میگشتم که آپلود و مدیریت فایل رو همانجا در ویرایشگر انجام دهد ، ویرایشگر Tinymce یکی از بهترین ادیتورها هست که بسیار ساده و خوب کار میکنه ، اما پلاگینی که برای آپلود و مدیریت فایل برای آن در نظر گرفته شده  مجانی نیست و نمیتوان بصورت رایگان از آن استفاده کرد . با مقداری جستجو از سورس یک پروژه ی دیگر توانستم سورس آپلودر و فایل منیجیر moximanager رو پیدا کنم و آن را برای ادیتور کانفیگ کنم . این پست برای دانلود آن را برای شما می گذارم . editor-file-manager     توسط این ادیتور می توانید عکس فیلم و هر فایل دیگری را مستقیما روی سرور آپلود کنید و در ویرایشگر قرار دهید . فایلها در پوشه ی Upload قرار میگیرند .

دانلود

(توجه کنید سورس دانلودی را از طریق وب سرویس اجرا کنید چون با ajax کارمیکند . )

تغییر شماره روی favicon

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

faveicon

این کار را یک پلاگین جی کوئری برای شما به سادگی انجام می دهد . نام پلاگین favico.js می باشد و افکت ها و استایلهای زیادی را هم برای شخصی سازی این شمارنده روی favicon برای استفاده قرار داده است . در ابتدا میخواستم فقط این سایت را معرفی کنم و لینک بدهم که خودتان از سایت سازنده دریافت کنید و استفاده کنید اما دیدم سورس مثالها در سایت سازنده قرار نگرفته و استفاده از این پلاگین ممکن است برای بعضی از توسعه دهنده گان وقت گیر و پیچیده باشد ، همچنین داکیومنت خوبی هم در سایتش قرار نداده است . تصمیم گرفتم در این پست راه استفاده از این پلاگین و سورس کل مثال را برای دانلود و دمو قرار دهم یا به سادگی بتواند از آن در پروژه های خود استفاده کنید . طبق گفته ی سایت سازنده این پلاگین فقط توسط مرورگرهای مدرن Chrome , Firefox قابل استفاده است .
(بیشتر…)

ایجاد نوتیفیکیشن گذرا در سایت

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

alertify  یک پلاگین جاواسکریپت و مستقل از Jquery است که  هم میتوان دیالوگ و آلرت با آن نشان داد و هم نوتیفیکیشن . کافیست بصورت زیر آن را در سورس HTML خود قرار دهید .

alert

(بیشتر…)

تجربه پرینت اطلاعات از مرورگر روی پرینترهای حرارتی

به تازگی برای یک پروژه ای که لازم بود اطلاعات از مرورگر مستقیما توسط یک فیش پرینتر (پرینتر حرارتی ) پرینت شود با مشکلاتی مواجه شده بودم که درنهایت موفق به حلشان شدم ، در این نوشته قصد دارم این مسائل و راه هایی که امتحان کردم را با شما اشتراک بگذارم که اگر روزی راهتان به این نوع پرینترها افتاد بتوانبد به سادگی با آنها کار کنید .


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

(بیشتر…)

دگمه های اشتراک گذاری در شبکه های اجتماعی با طرح یکسان

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

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

Google Plus – Facebook – Twitter – Digg – Delicious – StumbleUpon – Linkedin – Pinterest

(بیشتر…)

بارگیری مطالب با اسکرول به سمت پایین صفحه

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

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

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

دمو    دانلود 

(بیشتر…)

استفاده ساده از Cache در درخواست های AJAX

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

مثلا یک نمونه در این دمو آماده کرده ام که در بار اول اطلاعات با AJAX گرفته می شود ، سپس با کلیکهای پی در پی بدون وقفه همان اطلاعات قبلی نمایش داده می شود (در firebug می توانید درخواست های AJAX را مشاهده کنید که فقط یکبار انجام می شود .)
(بیشتر…)

مدیریت اطلاعات روی صفحه با knockoutjs

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

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

(بیشتر…)

مروری بر Regular Expression

Regular Expression یک الگو برای داده ها را نشان می دهد که می توان کنار هم قرار گرفتن کاراکتر های یک رشته رو تحلیل کرد ، مثلا می توان مشخص کرد که رشته ی مورد نظر چند کاراکتر باشد و اعداد و حروف چگونه در کنار هم قرار بگیرند و حتی چه عدد و حروفی استفاده شوند ، همه ی این ها را می توان با الگوهای Regular Expression مشخص کرد ، میتوان فقط رشته هایی ساخت که از یک الگوی خاص پیروی کنند یا مطابق با الگوی خاصی باشند ، می توان رشته های مختلف را با این الگو مقایسه کرد و در صورت صحیح بودن از آنها استفاده نمود ، مثلا آدرس ایمیل یک الگوی خاصی دارد که تشکیل شده از @ و . و چند کلمه ی حروفی است ، برای اینکه چک شود که رشته ی وارد شده صحیح است یا نه آن را با الگویی مقایسه می کنیم .


(بیشتر…)

شمارگر دایره ای

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

میتوانید در سایت سازنده نمونه های این لغزنده ها را ببینید . همچنین برای روش استفاده می توانید در صفحه ی Github سازنده مستندات آن را مطالعه کنید و پلاگین را دانلود نمایید . اگر با دانلود از github  مشکل داشتید از هاست طراح آن را بطور مستقیم می توانید دریافت نمایید .

(بیشتر…)