&#1570;&#1605;&#1608;&#1586;&#1588; &#1607;&#1575; - MODX Community Forums https://forums.modx.com/board/?board=208 <![CDATA[تجربه‌هایی در نصب مادایکس ۲ و افزودنی‌ها]]> https://forums.modx.com/thread/56777/#dis-post-333403

به نام خدا
با سلام
هنگام کار و استفاده از ورژن ۲ مادایکس به نکات زیر توجه کنید.
۱ – کامپوننت‌‌ها و افزودنی‌‌هایی که برای ورژن ۲ ساخته شده‌اند یک مشخصه دارند و آن وجود کلمه transport در انتهای نام آنها می‌باشد. (ای کاش این کلمه در تگ مربوط به افزودنی‌های مربوط مادایکس ۲ نیز به کار رفته بود تا جستجوی آن‌ها راحتر باشد)

۲ – برای استفاده از افزودنی‌ها باید آنها را در مسیر My site\core\packages قرار داد و سپس با رفتن به تب و مسیر System> package management و با فشار بر روی دکمه Add New package و با انتخاب گزینه Search Locally for Package و در مرحله بعد با انتخاب گزینه Yes اقدام به بارگزاری افزودنی‌های قرار داده شده در مسیر بیان شده در حافظه مادایکس نمود.
با تشکر از راهنمایی‌های امیر حسین AHHP

نکته مهم :
تا این تاریخ در ورژن ۲ مادایکس این نکاتی که بیان می‌کنم وجود دارد
الف : پس از نصب افزودنی‌ها اگرچه برنامه‌های نصب شده در شاخه‌هایی مثل
My site\assets\components
My site\assets\templates
قرار می‌گیرند اما بهیچ عنوان فایل‌های زیپ اصلی و فولدرهای باز شده‌ای را که پس از نصب آنها در شاخهٔ
My site\core\packages
ایجاد شده‌اند نباید پاک کرد!!! بنده امتحان کردم و ابتدا فایل زپب به تنهایی و سپس فولدر همان فایل را به تنهایی (فایل زیپ را سرجایش قرار دادم) حذف کردم و دیدم برنامه‌هایی مثل
aqueous-1.0-rc1
gallery-0.1.2-rc1
هنگام حذف یا همان آن‌اینستال کردن خطای
Package not found.
را ابلاغ می‌کنند و با چند مرحله کلیک برای ادامه بلاخره پیام
Could not install package with signature: aqueous-1.0-rc1
Could not install package with signature: gallery-0.1.2-rc1
نشان داده شد در صورتیکه فایل‌های اینستال شده در دایرکتوری دیگری است که باید حذف شوند و نباید این موضوع ربطی به پکیج زیپ شده یا فولدر باز شده در مسیر
My site\core\packages
داشته باشد
از طرف دیگر پس از بازگرداندن فایل‌‌های مربوطه و آن اینستال کردن برنامه گالری، اقدام با پاک کردن فولدر باز شده در مسیر
My site\core\packages
کرده و تنها فایل زیپ را در همان مسیر، مثل زمانی که تازه و برای اولین بار می‌‌خواهیم یک افزودنی را نصب کنیم، کردم ولی در این هنگام نیز هنگام انتخاب برنامه گالری برای نصب باز پیام خطای
Package not found.
صادر می‌گردد! و در این حال چنانچه مدام بر روی دکمه «ادامه» کلیک کنید بلاخره با پیام
Could not install package with signature: aqueous-1.0-rc1
مواجه می‌شویم (پیام هردو مرحله آن اینستال و اینستال کردن آخر کار هردومرحله یکیست!) در حالیکه قاعدتاً نباید اینگونه باشد.
این موضوع متأسفانه باعث اشغال بی‌جای هاست می‌گردد! زیرا یک فایل زیپ داریم و سپس یک فولدر باز شده و در نهایت فایل‌هایی که در محل خود نصب شده‌اند.

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

۳ – برای ایجاد یک گالری عکس بدرد بخور تا الان بنده برنامه بدرد بخوری مشاهده نکرده‌ام بنابراین با توجه به مهارت کمی که دارم توصیه می‌کنم که کاربران ابتدا برنامه
gallery-0.1.2-rc1.transport.zip
را نصب (توجه کنند که از لحاظ ایجاد فولدر و زیر فولدر بر اساس تقسیم بندی های مناسب این برنامه نیز بدرد نمی‌خورد!) و سپس عکس‌های مورد نظر خود را در آن و در شاخه‌هایی که مدنظر دارند آپلود کنند ودر پایان با ایجاد صفحات تمپلیتی با پارامترهای دلخواه، و با استفاده از کدهای جاوایی که مربوطه به ایجاد گالری عکس هستند و قرار دادن آدرس عکس‌ها مطابق آنچه که در برنامه گالری بوجود آمده است اقدام به ایجاد صفحات و گالری عکس دلخواه کنند.

]]>
https://forums.modx.com/thread/56777/#dis-post-333403 Wed, 20 Oct 2010 04:32:13 +0000 https://forums.modx.com/thread/56777/#dis-post-333403
<![CDATA[طریقه نصب مادایكس]]> https://forums.modx.com/thread/56770/?page=2#dis-post-333381 با سلام برای نصب ماد ایكس فایل زیر را دریافت نموده و طبق دستورالعمل اقدام نمائید]]> https://forums.modx.com/thread/56770/?page=2#dis-post-333381 Sun, 19 Oct 2008 06:10:47 +0000 https://forums.modx.com/thread/56770/?page=2#dis-post-333381 <![CDATA[Chunk,Snippet,Template,TV,Module,Plugin,Placeholder مفهوم کلی]]> https://forums.modx.com/thread/56776/chunk-snippet-template-tv-module-plugin-placeholder#dis-post-333401 سلام،
توی تاپیک قراره از طرف گروه مادایکس فارسی یه سری توضیح در مورد بخشهای زیر بصورت خلاصه داده بشه.

(Template) قالب
(Template Variable) متغیرهای قالب
(Chunk) چانک
(Snippet) اسنیپت
(Module) ماژول
(Plugin) پلاگین
Placeholder

این مطالب کلی نوشته شده و نیاز به تکمیل و تصحیح داره.
امیدوارم برای کساییکه تازه با مادایکس آشنا شدن مفید باشه.

امیرحسین
]]>
https://forums.modx.com/thread/56776/chunk-snippet-template-tv-module-plugin-placeholder#dis-post-333401 Mon, 25 Feb 2008 02:20:48 +0000 https://forums.modx.com/thread/56776/chunk-snippet-template-tv-module-plugin-placeholder#dis-post-333401
<![CDATA[تگهای پیشفرض مدایکس برای قالب سایت شما]]> https://forums.modx.com/thread/56758/#dis-post-333315 تگهای مدایکس متغییرهای مخصوصی هستند که محتوا و قابلیتهایی خاص را به صفحه های شما اضاقه میکند
شما میتوانید تگهای مدایکس را در هر جای قالب یا محتوای پوشه و پروند های خود اضافه کنید تا قابلیتهای مورد نظر را در محل مورد نظر اجرا کند
در مقاله ی قبلی مربوط به نحوه ساخت قالب در واقع قالبی بسیار ساده را که کاری خاصی انجام نمیدهد را دیدیم اما در این مرحله با اضافه کردن تگها پیشفرض مدایکس سعی میکنیم قابلیتهایی را در مد ایکس بکار ببریم
تگهای داخلی مدایکس
این مقاله بر نحوه بکار گیری تگهای پیشفرض مدایکس تمرکز دارد و چنانچه مایل به مشاهده فهرست کامل تگهای مدایکس هستید روی لینک زیر کلیک کنید
کلیه ی تگهای پیشفرض مدایکس http://modxcms.com/modx-tags.html


[right]برای شروع ما میتوانیم عناوین صفحات سایت را بهمراه نام سایت و با هم بیاوریم

<title>[(site_name)] - [*pagetitle*]</title> 
[/right]

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

در این مثال متغیر تگ پیشفرض
[(site_name)]
که نام سایت شما را تعیین میکند از اسمی که شما در بخش "تنظیمات سیستم" در فهرست سایت تعیین کرده اید گرفته میشود
و متغیر تگ پیشفرض
[*pagetitle*]
نیز که مربوط به اسم صفحه میباشد در همان زمان ساخت صفحه از شما گرفته شده است

مورد بعدی این است که محتوای پرونده های ما در بخش اصلی صفحات سایت ما نشان داده شوند
به همین منظور شما بایستی تگ پیشفرض
"[*content*]"
را در بخش مورد نظر خود که برای نمایش محتوای سایت مناسب است در قالب سایت خود قرار دهید

[right]
<div id="content">
  <h1>[*longtitle*]</h1>
  [*content*]
</div> 
[/right]

همکنون شما در مجموعه کدهای بالا تگ پیشفرض
[*longtitle*]
را میبینید که پیش از تگ پیشفرض
[*content*]
آورده شده است
با این حساب هر صفحه میتواند زیر-عنوانی خاص را به خود اختصاص دهد
متغیر تگ پیشفرض
[*longtitle*]
زمانی در فیلد "عنوان بلند" از شما گرفته شده است که درواقع پرونده را ایجاد کرده اید

و در نهایت در پایین صفحه خود شاید مایل باشید برخی نوشته ها بهمراه نام سایت و آدرس پست الکترونیک خود را داشته باشید

[right]
<div id="footer">Copyright © <a href="mailto:[(emailsender)]">[(site_name)]</a> 2005</div> 
[/right]

هر دوی متغییرهای ذکر شده همگی از بانک اطلاعاتی سایت شما دریافت شده و در فهرست "تنظیمات سیستم " تعریف میشوند
همکنون یعنی پیش از اینکه مدایکس محتوای سایت را فراخوانی کند چیزی شبیه این میباشد

و اما این یکی چیزی است که مدایکس پس از اضافه کردن تگهای پیشفرض و سایر متغییرهای داخل صفحات ما آنها را فراخوانی کرده است

در ادامه ی مقالات و مستندات آموزشی مدایکس درباره اسنیپتها و متغییرهای قالب یا همان (تی وی) و چانکها و چگونگی استفاده از همه ی اینها برای قابلیت بخشی به سایت خود و تنظیم دلخواه آن خواهیم پرداخت

این مقاله تنها جنبه ی آموزشی دارد و بمنظور جلوگیری از شلوغی مبحث این عنوان قفل شده است اما چنانچه در این مورد سوال و یا موردی را قابل ذکر میدانید لطفا آنرا در موضوع زیر به بحث بگذارید
http://modxcms.com/forums/index.php/topic,8955.0.html

یا علی
]]>
https://forums.modx.com/thread/56758/#dis-post-333315 Mon, 21 Jan 2008 06:05:49 +0000 https://forums.modx.com/thread/56758/#dis-post-333315
<![CDATA[آَشنایی با آژاکس]]> https://forums.modx.com/thread/56763/#dis-post-333334 مجموعه‌ای از استانداردها و فناوری‌های وب است که به(Ajax؛ سرواژهٔ «Asynchronous JavaScript And XML»)، اِیْ‌جکس یا آژاکس ه
کمک آن‌ها می‌توان برنامه‌هایی مبتنی بر وب تولید کرد که به آسانی با کاربران تعامل داشته باشند.
serverفناوری‌ها طبق معماری که آژاکس پیشنهاد می‌کند و با کمک انتقال تکه‌های کوچک داده و اطلاعات از رایانهٔ خادم
صفحات وب از حالت منفعل خارج می‌شوند و واکنش‌هایی مناسب با رویدادها انجام می‌دهند.

* مجموعه فناوری‌های تشکیل دهنده آژاکس عبارت‌اند از
o XHTML و CSS.نمایش استاندارد با استفاده از
o Document Object Model) DOM).نمایش پویایی و تعاملات با استفاده از
o XML و XSLT.تبادل و دستکاری داده با استفاده از
o XMLHttpRequest.بازیابی داده‌ها بصورت غیر همروند با استفاده از
o برای سرهمبندی همه چیز با هم. JavaScript



معماری جدیدی برای وب Ajax

روش کار برنامه‌های کلاسیک وب چیزی شبیه این است: اکثر تعاملات کاربر با رابط کاربری باعث ارسال یک درخواست به سرور می‌شود. سرور پردازش‌های لازم را انجام داده و به کلاینت بازمی‌گرداند. این مدل بر اساس هدف اصلی وب، یعنی ایفای نقش یک رسانه برای ابرمتن است.HTMLسپس یک صفحه ، الزاماً
اما آنچه وب را برای ابرمتن‌ها مناسب می‌کند، الزاماً آن را برای برنامه‌های نرم‌افزاری نیز مناسب نخواهد کرد. مسئله اینجاست که برنامه‌های وب برای کاربرد بودن طراحی نشده‌اند و این باعث شده است که در بسیاری موارد کاربر را نادیده بگیرند(Application)
فرض کنید کاربر می‌خواهد در یک فروشگاه الکترونیک، مشخصات جنس بعدی را ببیند، یا یک جنس را به سبد خرید خود اضافه کند. اتفاقی که می‌افتد این است که برای انجام هریک از این کارها، چون نیاز است با سرور ارتباط برقرار شود، باید یک درخواست به سرور ارسال شده، سرور پردازشهای لازم را انجام دهد و سپس یک صفحه به عنوان نتیجه بازگرداند. کاربر هم در این میان می‌تواند با انگشتانش بازی کند!

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


چه پیشنهادی ارائه می‌دهدAjax اکنون ببینیم

قسمت‌های مهم معماری پیشنهادی

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

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


متن بالا حاصل ترجمه و خلاصه سازی چند مقاله مهم در باره آژاکس است که بنده آن را گرد آوری کرده ام
locked
]]>
https://forums.modx.com/thread/56763/#dis-post-333334 Mon, 21 Jan 2008 06:00:23 +0000 https://forums.modx.com/thread/56763/#dis-post-333334
<![CDATA[در انجمن "آموزش" چه بنویسیم؟]]> https://forums.modx.com/thread/56775/#dis-post-333392 با سلام و به نام خدا
همانطور که از اسم انجمن "آموزشها" پیداست، محلی است برای درج مطالب آموزشی در زمینه استفاده یا کاربرد یا نحوه به کارگیری مادایکس
همچنین کاربرانی که تقاضای درج مطالب جدید در موضوع مورد نظر خود را دارند از طریق همین انجمن اقدام نمایند تا مدیران انجمن یا کاربران مادایکس در فرصتی مناسب نسبت به تهیه و ارائه ی مطلب آموزش اقدام نمایند.

کلیه ی مطالب آموزشی موجود در این انجمن هر از چند گاهی به دانشنامه (وایکی) مادایکس منتقل میشود و بخش "آموزشهای" انجمن مادایکس بیشتر به منزله ی مکان فرآهم آوری و هماهنگی و اشتراک بیشتر کاربران است ودر نهایت دانشنامه (وایکی) مادایکس که مطالب آموزشی را به زبان فارسی در خود جای داده امکان ویرایش را برای کلیه کاربران فرآهم کرده است
به این نکته توجه کنید که سرور وایکی مادایکس جدای از سرور اصلی آن است و کاربری انجمن شما کاربران عزیز در وایکی به طور پیشفرض فعال نمی باشد اما در صورت تمایل به ایجاد و یا ویرایش مطالب دانشنامه لطفا نسبت به تهیه ی کاربری مخصوص آن اقدام نمائید

کلیه ی ویرایشهای دانشنامه (وایکی) مرور میشود لذا از اتلاف وقت خود به جهت خرابکاری در فایلهای آموزشی موجود در دانشنامه پرهیز کنید
کلیه ی مطالب "آموزشی" فارسی موجود در دانشنامه مادایکس را از این آدرس پیگیری نمائید


برخی از مطالب موجود در دانشنامه نیازمند ویرایش و بازسازی است لذا تا تکمیل نهایی آنها شکیبا باشید

توجه: سعی کنید هنگام درج مطلب در انتخاب انجمنها دقت کنید تا چنانچه مطالب مفیدی بیان شد، دیگران نیز بعدها بتوانند از آن بهره مند شوند لذا موضوعات (تاپیک) بی ارتباط با این انجمن به انجمنهای مرتبط با موضوع مطروحه منتقل خواهد شد
]]>
https://forums.modx.com/thread/56775/#dis-post-333392 Mon, 21 Jan 2008 05:47:15 +0000 https://forums.modx.com/thread/56775/#dis-post-333392
<![CDATA[آمورش ساخت ماژول قسمت دوم2]]> https://forums.modx.com/thread/56762/2#dis-post-333332 در قسمت قبل ياد گرفتيم که چطور يک ماژول خيلي ساده بسازيم و قالب آن را مشابه قالب مديريت کنيم
در اين قسنت ياد ميگيريم که چطور توابعي را به ماژول خود اضافه کنيم
مهمترين بخش در اين قسمت اضافه کردن يک جدول به بانک اطلاعاتي است
براي اين کار دستورات ساخت يک جدول با تعدادي فيلد در زير آمده
CREATE TABLE `beginner` (
  `beginners_id` int(11) NOT NULL auto_increment,
  `beginners_list` varchar(20) NOT NULL default '',
  `beginners_name` varchar(255) NOT NULL default '',
  `beginners_fam` varchar(255) NOT NULL default '',
    PRIMARY KEY  (`beginners_id`)
);

حالا براي اينکه جدول مورد نظر را بسازيم بايد به نحوه زير عمل کنيم
توجه کنيد که اين جدول بايد در بانک اطلاعاتي که مد ايکس که در مراحل نصب به برنامه معرفي شده
ايجاد گردد تا به راحتي ماژول ما با آن ارتباط برقرار کند البته مي شود از بانک اطلاعاتي ديگري نيز استفاده کرد که بعدأ توضيح مي دهم
دو را براي اجاد اين جدول وجود دارد
sql1نوشتن اين دستورات در يک فايل
لحاظ کنيم import در اينصورت بايد بعد از باز کردن بانک اطلاعات مد ايکس اين فايل را بوسيله سربرگ
PhpMyAdmin2کپي کردن دستورات در
لحاظ کنيم Sql در اينصورت بايد بعد از باز کردن بانک اطلاعات مد ايکس دستورات را در سربرگ

بعد از اينکه جدول دلخواه خود را در بانک اطلاعاتي ساختيم نوبت به انجام اعمال مختلف روي آنها مي رسد:
استفاده کردن توابع به وسيله آژاکس:
در اين قسمت قصد داريم دو عمل را بر روي بانک اطلاعاتي خود انجام دهيم اول از همه جستجو و سپس مرور جدول خود
همانطور که در بالا ديد دومين فيلد ما در جدول نام مي باشد حالا ما با ايجاد يک منوي کشويي مي خواهيم نامي را انتخاب کنيم تا باقي اطلاعات آن را مشاهده کنيم
کد ما مي تواند به صورت زير باشد
<?php 
  $query = "SELECT DISTINCT beginners_list FROM beginner";
  $result = $modx->db->query($query);
  if($result) {
    while($row = $modx->db->getRow($result)) {
      echo '<option value="'.$row['list_user'].'">'.
            ucfirst($row['beginners_list ']).'</option>';
    }
  }
?>

فکر ميکنم که خود کد به اندازه کافي گويا باشد ولي بهتر است که برای درک بهتر کمی پی اچ پی/آژاکس بلد باشید :
کلأ اين کد به اين معني است که داخل فيلد دوم از جدول ما بگرد و در جايي که سطري فيلد دوم آن داراي ارزش بود مقدار فيلد دوم را به منوي ما برگردان.
پس ليست ديناميکي به صورت زير خواهيم داشت



حالا وقت آن رسيده که کمي به آژاکس بپردازيم

در اين قسمت من از کلاس آداپتور آژاکس براي بارگزاري نتيجه درخواست در يک صفحه استفاده ميکنم
function loadDatabase() {
	var url = '../assets/modules/database/load.php';
	var pars = 'user=' + $F(userSelect);
	var myAjax = new Ajax.Updater( 'ajaxContainer', url, 
                     { method: 'get', parameters: pars }); 
}


نکته اصلي در اينجا تفسير سه پارامتر موجود در تابع بالا است
container پارامتر اول:اين پارامتر شماره ظرف است
توليد شده و ارزش آن با مقدار "ajaxContainer"اين شماره بايد به روز رساني شود اين شماره که توسط
بازگشتي ارسال شده توسط آژاکس که در مثال ما يک رشته است عوض مي شود

است این آدرسی به اسکریپت سرور می باشد که وظیفه آن پردازش درخواست و بازگرداندن رشته است(url)پارامتردوم : مسیر

باشد get,post پارامتر سوم: این پارامتر را می توان در چند بخش پیدا کرد روش برای دریافت می تواند
این متد مشابه همان متدی است که در دریافت فرمها استفاده می شود
پس نتیجه میگیریم که پارمتر ما همانی است که به یکی از متد های گفته شده انتقال پیدا کرده
اما دوستانی که با آژاکس/پی اچ پی اشنا هستند متوجه شدند که من در برنامه خودم از تابع اولیه دیگری استفاده کردم یعنی:
$F(userSelect)

این تابع هم مانند متد های بالا ارزش گزینه انتخاب شده از منوی کشویی ما را به اسکریپت سرور انتقال می دهد
تابع
$F(id)

عناصر ما را به وسیله شماره عنصر ارزش دهی می کند
و تمام توابع آن دسترسی ندارد$modx توجه کنید که در این دستورات آژاکس ما از یک فایل خارجی استفاده کردیم که به شئ
پس باید تنظیمات بانک اطلاعاتی را در فایل خودمان لحاظ کنیم

include "../../../manager/includes/config.inc.php";
  $dbase = ltrim($dbase, "`");
  $dbase = rtrim($dbase, "`");
	
  $conn = mysql_connect(
          $database_server,$database_user,$database_password
          );
  $db = mysql_select_db($dbase);


پس از این می توانید ارزش بازگشتی از متد های گفته شده در بالا را دریافت کنید و نتیجه جستجو را در جدولی مشاهده کنید
در این حالت بازگشت را در ظرفی که آداپتور آژاکس به آن منتقل می کند مشاهده می کنید.

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

function searchDatabase() {
  var url = '../assets/modules/database2/search.php';
  var pars = 'term=' + $F(searchField);
  var myAjax = new Ajax.Updater( 'ajaxContainer', url, 
               { method: 'get', parameters: pars }); 
}

به طور خلاصه تمام کاری که ما انجام می دهیم :
اول مسیر فایلی که به وسیله آن درخواست را پردازش می کنیم , مشخص می کنیم
برای بازگرداندن ارزش فیلد ورودی و انتقال آن توسط آداپتور آزاکس استفاده می کنیم$F() بعد از تابع
بعد باید اسکریپت ما کار برقراری ارتباط با بانک اطلاعاتی را انجام دهد و پاسخ را به جستجوی ما با متد های گفته شده بدهد
به قول معروف ابر و مه وخورشید فلک همه در کارند تا ما پاسخ بانک اطلاعاتیرا ببینیم


توجه: برای فهم بهتر مبحث ماژولها در مد ایکس باید با نحوه برنامه نویسی آژاکس آشنا باشید
سعی می کنم که در آینده نزدیک مقاله های برای آمورش آژاکس بنویسم
ادامه دارد
[/right]]]>
https://forums.modx.com/thread/56762/2#dis-post-333332 Mon, 21 Jan 2008 05:35:44 +0000 https://forums.modx.com/thread/56762/2#dis-post-333332
<![CDATA[آموزش ساخت ماژول برای مد ایکس "قسمت اول"1]]> https://forums.modx.com/thread/56759/1#dis-post-333324 در اين آموزش سعي مي کنم که با يه مثال اول به شما ياد بدم که چطوري یک ماژول ساخت می شود و براي مديريت يک جدول بانک اطلاعاتي يه ماژول مي سازيم.

شروع:

براي شروع اول از همه وارد حساب مديريت شوید
را انتخاب کنينmodules بعد سربرگ
را انتخاب کنبدnew هmodules بعد گزينه
حالا در اين قسمت اسم و توضيحات را براي ماژول انتخاب کنید
حالا یک نگاه به فيلد آخر بندازید اينجا بايد کد هاي ماژول را بنويسيم
به عکس زير نگاه کنيد



حالا بايد ماژول را اجرا کنید براي اين کار روي علامت مکعب آبي کليک کنید

خوب دوستان بعد از اجراي برنامه شما مشابه تصویر زير را مشاهده مي کنين




اگر تا الان با من پيش اومده باشين موفق شده اید که اولین ماژول را براي مد ايکس بسازين
حالا بايد بدانید که اصولأ مديريت مد ايکس چطور کار مي کند براي اينکه به عنوان مثال ماژولي که ساخته اید به خودش لينک بدهد بايد اي دي که مد ايکس به آن ماژول
داده را بلد باشيد
براي ديدن اين شماره موس را روی اسم ماژول قرار دهید و در قسمت پايين مرورگر اين شماره نمايان ميشود
مثل تصویر زیر







حالا باید ماژول را برای ویرایش باز کنید و به قسمت پیکر بندی ماژول رفته و ای دی به دست آمده رو انجا وارد کنید
وارد میکنیدmodule configration value ایدی بدست آمده را در قسمت
دقت کنین که ما اینجا قصد داریم که یه متغییر بسازیم و مقدار آن رو مساوی ماژول قرار بدیم
استفاده کنینmodule configration valueپس باید از دستور زیر را در
&modID=modID;int;4
دقت کنید که شماره شما شاید با شماره ای که من وارد کردم فرق داشته باشه
به تصویر زیر نگاه کنید




حالا شاید بپرسین که تمام کاری که ما انجام دادیم کلأ چه کاری انجام میده
با این کار ما اول یک ماژول ساختیم بعد یک متغیر ساختیم و ارزش آن را لینک به ماژول قرار دادیم
حالا هر وقت توی کد نویسی و و ساخت ماژول به این ماژول نیاز داشته باشیم از این متغییر استفاده میکنیم

حالا باید کمی به ماژول رنگ و آب بدیم

توجه کنید که مدیریت در مد ایکس از فریم ها استفاده میکند تا خروجی را به شما نشان دهد پس
ماژولها باید بصورت کد های اچ تی ام ال باشن ا
این قابلیت به شما کمک می کند تا هر شکلی دلخواهی به ماژول بدهید

دو فایل وجود داره که مدیریت مد ایکس برای تمامی فریم ها از آن استفاده می کند
manager/includes/header.inc.php
manager/includes/footer.inc.php
در این حالت ما سعی داریم که ماژول ما از قاب و شکل ماژول مدیریت استفاده کند پس فایل زیر را در نظد بگیرید
manager/actions/static/modules.static.action.php
و قسمت های که نیاز داری تا ماژول ما شبیه بخش مدیریت شود را از این فایل به امانت می گیریم
تا زمانی که ماژول ما فقط یک ماژول است و هنوز تبدیل به بخشی از مدیریت سایت نشده
ما نیازی به تعیین قالب و بقیه پیش فرض موجود در بخش مدیریت برای آن نداریم
این کار را انجام دهیم CSS اما اگر بخواهیم آنها را نیز در ماژول خو لحاظ کنیم باید به وسیله لینک دادن به فایل
برای مثال برای استفاده کردن از قالب مدیریت باید لینکی به کد زیر بدهیم
$modx->config['manager_theme']

بطور کلی لینکی که ما در ماژول خود می نویسیم به صورت زیر است
 <link rel="stylesheet" type="text/css" href="media/style/<?php echo $modx->config['manager_theme']; ?>/style.css" />

همین کار را برای لینک دادن به تمام ایکون ها نیز تکرار کنید

نوشتن کدها
من تمامی کدهای ماژول را در فایلی جداگانه قرار دادم با اینکار به راحتی با نوشتن کد های پی اچ پی و اچ تی ام ال
به نتیجه دلخواه خود میرسم در صمن توجه کنید که نوشتن کدها در فایل جداگانه
با عث منظم شدن و سهولت در ویرایش ماژول می شود
قرار دهیدModule Code: بعد از اینکه ماژول را نوشتید لازم است تا لینک به فایل ماژول را در قسمت
include $modpad."/نام ماژول.php";


قرار دهید assets/modules/"این فایل را باید در پوشه " پوشه ماژول
تمام فایلهای جاوا اسکریپت مورد نیاز برای توابع آژاکس نیز در این بخش قرار میگیرند
ضمنمأ تمام پاسخ های سرور نیز در همین پوشه قابل دریافت است

دید که ساختن ماژول برای مد ایکس خیلی راحته
!بزودی قسمت های بعدی را نیز آماده میکنم
[/right]
]]>
https://forums.modx.com/thread/56759/1#dis-post-333324 Mon, 21 Jan 2008 05:32:08 +0000 https://forums.modx.com/thread/56759/1#dis-post-333324
<![CDATA[کار با فرم الکترونیک مد ایکس]]> https://forums.modx.com/thread/56764/#dis-post-333339 توجه :
از این به بعد با توجه به هماهنگی به وجود آمده میان تیم فارسی ساز مد ایکس به جای دو واژه زیر معادل پارسی آنها به کار گرفته می شود و در کلیه مقالات خود بنده به علت روان بودن این دو واژه از آنها استفاده می کنم
Snippets:فرمان
Chunks:تکه
فرمانی براي ارسال محتويات فرم به يک يا چند ايميل که خود شما مشخص مي کنيد است Eform
در اين تاپيک قصد دارم که در باره اين فرمان و نحوه کار آن کمي توضيح بدهم

بعد از اينکه فرم الکترونیک را دانلود کرديد
فايل فشرده را در مسير زير باز کنيد
ssets/snippet/ folder
داشته باشيد eform حالا بايد پوشه اضافي را به نام
را در آن کپي کنيد eform.snippet.tpl سپس يک فرمان (اسنیپت) جديد ايجاد کنيد و محتويات فايل
استفاده کنيد eform حالا مي توانيد در سايت خود از دستور

استفاده مي کند پس پيشنهاد ميکنم که نسخه جديد را از آدرس زير دريافت کنيدphpmailer توجه کنيد که فرم الکترونيک از کتابخانه
http://sourceforge.net/projects/phpmailer/
بعد از دريافت نسخه جديد آن را در مسير زير کپي کنيد
manager/includes/controls
شرو ع مي شوند و فايل زبان را کپي کنيدClass توجه کنيد که بايد فايلهاي را که با کلمه

پرونده جدید را ایجاد کنید که در آن فرم تماس خود را بسازید
و هرجایی که قرار است فرم شما نشان داده شود تگ فرمان را قرار می دهیم
[!eForm? &formid=`BeginnerForm` &tpl=`ContactForm` &report=`ContactReport` &subject=`Web Contact`!]

همانطور که مشاهده می کنید چند پارامتر در فرمان بالا وجود دارد که باید با آنها آشنا شویم
پارامتر اول : شاید شما هم از تعداد چند فرم در صفحه خود استفاده کنید در اینصورت فرمان باید بداند که در حال حاضر با کدام فرم در ارتباط است این کار به وسیله
&formid=`BeginnerForm`

باشد ارزش این فیلد نیز باید ارزشی باشد که ذکر شدهformid پس فرم ما باید فیلد مخفی ورودی را داشته باشد و نام آن
باشد که یک مقدار دلخواه است و شما نیز میتوانید آن را تغییر دهید.BeginnerForm یعنی این مقدار باید

پارامتر های بعدی :فرم الکترونیک از دو تکه قالب استفاده می کند
&tpl و &report
نامیده می شود و حاوی شکل و قالب فرم طراحی شده توسط ماست&tpl تکه ای که
نامیده می شود و برای طر ح بندی ایمیل ارسالی کاربرد دارد&report تکه بعدی که
از این پارامتر برا ی تعیین موضوع ایمیل ارسالی استفاده می شود &subject حالا رسیدیم به
نکته مهم:
توجه کنید که اگر در فرمان فرم الکترونیک از &to استفاده نشود فرم به ایمیل پیش فرض سایت ارسال می شود
در این صورت باید از تب کاربران در پیکبندی سیستم برای ایجاد ایمیل اقدام کنید .
در زیر نمونه ای از تکه های مورد نیاز در فرم الکترنیک آمده:
&tpl نمونه تکه برای
<p><span style="color:#900;">[+validationmessage+]</span></p>
<form method="post" action="[~[*id*]~]">
    <input type="hidden" name="formid" value="BeginnerForm" />
    
    <p><label accesskey="n" for="Name">Your Name</label>
    <input type="text" name="Name" maxlength="60" eform="Your Name::1:Expected at least two words:#REGEX /\w+\b\w{2,}/i" /></p>

    <p><label accesskey="e" for="email">Your Email Address</label>
    <input type="text" name="email" size="40" maxlength="40" eform="Your Email Address:email:1" /></p>
    
    <p><label accesskey="s" for="department">Subject</label>
    <select name="department">
        <option value="1">Website feedback</option>
        <option value="2">Support request</option>
        <option value="3">Feature request</option>
    </select></p>
    
    <p><label accesskey="c" for="comments">Comments</label>
    <textarea cols="40" rows="10" name="comments" eform="Comments:html:1"></textarea></p>

    <p>
    Please enter the     anti spam code below:<br />
    <img src="[+verimageurl+]" alt="verification code" border="1"/>
    </p>
    <p>
    <label accesskey="c" for="vericode">code</label>
    <input type="text" name="vericode" size="20" />
    </p>
    
    <p><input type="submit" name="submit" value="Send Feedback"></p>
</form>

این تکه می تواند برای شما به عنوان یک مرجع به کار رود و شما با توجه به نیاز خود می توانید آن را تغییر دهید


&reporاینهم مثالی برای
<p>This is a response sent by [+Name+] using the Beginner form on the website. The details of the message follow below:</p>
<table>
<tr valign="top"><td>Name:</td><td>[+Name+]</td></tr>
<tr valign="top"><td>Email:</td><td>[+email+]</td></tr>
<tr valign="top"><td>comments:</td><td>[+comments+]</td></tr>
</table>
<p>You can use this link to reply: <a href="mailto:[+email+]?subject=RE:[+subject+]">[+email+]</a></p>

این فرمان دارای پارامتر های بیشتری است که در زیر لیستی از آنها را مشاهده می کنید
توجه کنید که فرمان را باید در یک خط وارد کنید که من برای بیشتر واضح شدن قضیه آن را در چند خط نوشته ام
[!eForm?
  &formid=`BeginnerForm`
  &to=`moslem@post,beginner_beginner2001@yahoo.com,email@some.domain.com`
  &tpl=`ContactForm`
  &report=`ContactReport`
  &thankyou=`BeginnerThanks`
  &mailselector=`department`
  &vericode=`1`
  &subject=`Web site BeginnerForm`

اینهم مثالی برای تشکر:
h3>از تماس مشا متشکریم</h3>
<p>ممنون از اینکه فرم جدید ما را پر کردید ما سعی خواهیم کرد که در اسرع وقت به در خواست شما پاسخ دهیم</p>
<p>در زیر می توانید رونوشت پیغام خود را مشاهده کنید:</p>
<table>
<tr><td>Your name:</td><td>[+Name+]</td></tr>
<tr><td>Your email address</td><td>[+email+]</td></tr>
<tr valign="top"><td>Your comments</td><td>[+comments+]</td></tr>
</table>

به جای اینکه از نام تکه ها در فرم فرم الکترونیک استفاده کنید می توانید از شماره پرونده آن نیز استفاده کنید
مثلا
&tpl=`31`

استفاده میکنید به کار برید در غیر ایت صورت فرم شما کار نمی کندTinyMCE این روش را وقتی از ویرایشگر د
تمام خواص نا معتری را که در تکه فرم به کار برده اید را پاک می کندtinyMCE چون]]>
https://forums.modx.com/thread/56764/#dis-post-333339 Mon, 21 Jan 2008 05:25:49 +0000 https://forums.modx.com/thread/56764/#dis-post-333339
<![CDATA[jot آموزش]]> https://forums.modx.com/thread/56769/jot#dis-post-333362 معرفي:

اين اسنيپيت براي ايجاد بازخورد در صفحه استفاده مي شود
براي مثال ايجاد سيستم ارسال نظر و دفتر يادگاري براي کاربران
دانلود:
براي دانلود آخرين نسحه اين برنامه مي توانيد از آدرس زير استفاده کنيد.
http://www.modxcms.com/Jot-998.html

نحوه نصب :
بعد از دريافت از حالت فشرده خارج کنيد (snippet) براي نصب اين فرمان
ايجاد کنيد jot سپس در مسير زير پوشه اي به نام
[MODx Directory]/assets/snippets
در اين بخش محتويات پوشه را به آن آپلود کنيد
[MODx Directory]/assets/snippets/jot
بناميد jot در بخش مديريت مد ايکس يک اسنيپت جديد ايجاد کرده و آن را
را به داخل آن کپي کنيد ot.snippet.txt و اسنيپيت را محتويات فايل
ذخيره کنيد

آپديت کردن نسخه قديمي:
براي آپديت کردن نسخه قديمي تر تمام مراحل بالا را انجام دهيد و به خاطر داشته باشيد
که حتما از فايلهاي قديمي خود پشتيبان تهيه کنيد.

نحوه استفاده از فرمان
براي استفاده از اين فرمان مشابه فرمانهاي ديگر مي توانيد هرجاي قالب و يا پرونده خود
به سا دگي کد زير را وارد کنيد .
[[!Jot? &subscribe=`1` &pagination=`10`!]]

&subscribe=`1`پارامتر اول
اجازه ارسال نظر را می دهد و
&pagination=`10`پارامتر دوم
در هر صفحه 10 نظر را ثبت می کند
[[!Jot? &subscribe=`1` &pagination=`10` &sortby=`createdon:a`!]]

پارامتر اضافی در اینجا باعث مرتب شدن پست ها به صورت
پست قدیمی اول , می شود
[[!Jot? &subscribe=`1` &pagination=`10` &moderated=`1`!]]

پارامتر اضافی باعث می شود که پست های جدید نیاز به اجازه مدیر برای انشار داشته باشند
[[!Jot? &pagination=`10` &captcha=`1` &badwords=`{{myBadwordList}}` &bw=`2`!]]

در این صورت پست آندسته از کاربرانی که به گروه کاربری "قابل اعتماد" تعلق دارند
انتشار پیدا می کند
[[Jot? &pagination=`10` &captcha=`1` &canmoderate=`jot مدیران` &badwords=`{{myBadwordList}}` &bw=`1`]]

در این صورت اگر کلمه بدی در پست استفاده شود پست امنشار پیدا نمی کند و
پیغامی برای اظلاع رسانی به بقیه مدیران ارسال می شود
لست این کلمات در چانکی شامل این کلمات که با کما از هم جدا می شوند قابل تعریف است
کاربرانی که به گروه کاربری
"jot مدیران "
تعلق دارند قادر به مدیریت ارسال نظرات هستند

have fun ModXing wink
[/right]]]>
https://forums.modx.com/thread/56769/jot#dis-post-333362 Mon, 21 Jan 2008 05:15:41 +0000 https://forums.modx.com/thread/56769/jot#dis-post-333362
<![CDATA[MaxiGallery توضیحات - دانلود - نحوه نصب فرمان]]> https://forums.modx.com/thread/56767/maxigallery#dis-post-333350
سلام

MaxiGallery
یک گالری عکس بسیار پیشرفته است که امکانات بسیاری به شما میدهد
برای دانلود آن از لینک زیر استفاده کنید:
http://modxcms.com/MaxiGallery-532.html

قابلیتها:
از تکنیک آژاکس استفاده شده - قابلیت نوشته خودکار بر روی عکسها (بعنوان مثال حق کپی رایت شما) - تغییر سایز خودکار از پیش مشخص شده - تغییرات و فیلتر گذاری - کئچک کردن خودکار عکس (تامبنیل) برای نمایش در لیست - قابلیت ایجاد آلبومهای شخصی و گروهی - قابلیت انتخاب سطوح دسترسی

نمونه زنده و حاضر برای امتحان و شماهده این گالری در حال کار
http://www.netguru.fi/modx/maxigallery-slidebox.html

نحوه نصب:
ابتدا فایل زیپ شده را در کامپیوتر خود باز کنید و محتوای پوشه را در مسیر زیر در سایت خود آپلود کنید
assets/snippets/maxigallery/
پس از ان در مسیر زیر این پرونده را ایجاد کنید
assets/galleries/
و اجازه دسترسی سرور آنرا از 666 به 777 تغییر دهید
از طریق بخش مدیریت ماد ایکس یک فرمان یا اسنیپت جدید ایجاد کنید بنام
MaxiGallery
و محتوای فایل زیر را در آن وارد کنید
maxigallery.txt
فرمان را با استفاده از کد زیر در سایت خود فراخوانی کنید
[[MaxiGallery]]


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

موفق باشید
در صورت برزو اشکال لطفا در انجمن مربوطه به آدرس زیر مطرح بفرمایید و یا در ذیل همین انجمن ذکر کنید
http://modxcms.com/forums/index.php?topic=5461
]]>
https://forums.modx.com/thread/56767/maxigallery#dis-post-333350 Mon, 21 Jan 2008 05:08:54 +0000 https://forums.modx.com/thread/56767/maxigallery#dis-post-333350
<![CDATA[نحوه ساخت قالب مخصوص برای سایت شما]]> https://forums.modx.com/thread/56757/#dis-post-333310 قالبها مجموعه ای از نوشته ها و تگ هایی هستند که با زبان اچ تی ام ال تهیه میشوند و شکل و ظاهر سایت شما را مشخص میکنند
در اینجا به شما طریقه ی ساخت قالب (استاندارد وب1 و سی اس اس) مخصوص برای سایت خودتان را آموزش میدهیم
قالبهای سایت در قسمت "منابع" در بخش مدیریت کل سایت شما ساخته میشود
از فهرست سمت راست صفحه روی گزینه ی "قالب جدید" کلیک کنید
در فرم "ساخت / ویرایش قالب" اسمی را برای قالب خود انتخاب کنید و بنویسید.. توضیحات قالب و در صورت تمایل حتی قالب را برای ویرایش قفل کنید
سپس کدهای اچ تی ام ال قالبی که طراحی کرده اید را در قسمت وارد کردن کدها بیاورید
شما برای ساخت قالب میتوانید از ویرایشگرهای متنوعی همچون فرانت پیج و یا دریم ویور برای طراحی قالب خود استفاده کنید و تنها کدهای تهیه شده از قالب شما توسط این برنامه ها را در همین بخش کپی و پیست کنید
بعنوان مثال بیایید با هم یک قالب ساده دوستونی را بسازیم

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<title>قالب آزمایشی</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body>
<div id="banner">
<h1>آرم و نشان</h1>
</div>
<div id="wrapper">
  <div id="container">
    <div id="content">
      <!-- محتویات اصلی صفحه اینجا قرار میگیرد -->
      Content
    </div> <!-- آخر بخش محتویات اصلی صفحه -->
  </div> <!-- آخر بخش مادر صفحه -->
  <div id="sidebar">
    <!-- فهرست و گزینه های دیگر اینجا خواهد بود -->
    Sidebar
  </div>
<!-- فهرست و سایر گزینه ها اینجا تمام میشود -->
  <div class="clearing"> </div>
</div> <!-- پایان برش و فاصله صفحه -->
<div id="footer">Footer</div></body>
</html>


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

Joe Barta’s beginners tutorials (where I started! Thanks, Joe!) http://www.pagetutor.com/pagetutor/makapage/
W3Schools tutorials http://www.w3schools.com/default.asp
A List Apart http://www.alistapart.com/
W3C tutorials http://www.w3.org/2002/03/tutorials

حالا بعنوان مثال یک فایل "سی اس اس" را برای تعیین نمایش ساختار صفحه خود در زیر داریم:

* { padding:0; margin:0; border:0; }
body { margin:0 20px; }
#banner { background: #cdcdcd; border-left:1px solid #ababab; border-right:1px solid #ababab; }
#banner h1 { padding:10px; }
#wrapper { background: #ffffff; border-left:1px solid #ababab; border-right:1px solid #ababab; }
#container { width: 100%; background: #ffffff; float: left; margin-right: -200px; }
#content { background: #ffffff; margin-right: 200px; height:200px; border-right:1px dotted #ababab; }
#sidebar { width: 200px; float: right; }
#footer { background: #cdcdcd; border-left:1px solid #ababab; border-right:1px solid #ababab; }
.clearing { clear:both; height:0; } 


بوسیله ی ساختاری که در این قالب و توسط فایل " سی اس اس" تعیین کرده ایم صفحه ی ما چیزی شبیه عکس زیر خواهد بود:
بنظر شما این چیزی نیست که ما خواسته باشیم؟ درباره این یکی چه فکری میکنید؟

یا این یکی؟

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

در صورتیکه علاقمند به دانستن بیشتر در زمینه ی هنر نگارش "سی اس اس " دارید میتوانید از سایتهای مفید در این زمینه که در زیر فهرستی ازآن را آورده ایم استفاده کنید:

W3Schools Tutorial http://www.w3schools.com/css/default.asp
Eric Meyer’s css/edge http://www.meyerweb.com/eric/css/edge/
glish.com CSS Layout Techniques http://www.glish.com/css/
A List Apart http://www.alistapart.com/
Left Justified http://leftjustified.net/
CSS Zen Garden http://www.csszengarden.com/

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

http://modxcms.com/forums/index.php/topic,8951.0.html

]]>
https://forums.modx.com/thread/56757/#dis-post-333310 Mon, 21 Jan 2008 05:01:22 +0000 https://forums.modx.com/thread/56757/#dis-post-333310
<![CDATA[Ditto توضیحات - دانلود - و توضیح کارایی های]]> https://forums.modx.com/thread/56766/ditto#dis-post-333348
Ditto
برای دانلود این فرمان از لینک زیر استفاده کنید:
http://modxcms.com/Ditto-487.html

بهترین و سریعترین و راحت ترین و سهل الوصول ترین مسیر برای وارد کردن محتوای شما به مادایکس میباشد

نحوه نصب:
یک فرمان جدید بسازید و یا در صورت وجود این فرمان آنرا باز کنید و تغییرات موجود در فایل زیر را در این فرمان انجام دهید
snippet.ditto.1.0.1.php
حتما این فایل
ditto.class.inc.php
را در مسیر زیر قرار دهید
assets/snippets/ditto/ditto.class.inc.php
فایل زبان خود را در مسیر زیر قرار دهید
assets/snippets/ditto/lang/language.inc.php

مستند این فرمان:
http://modxcms.com/ditto_documentation.html

هرگونه سوالی را یا در همین انجمن و یا در انجمن مربوط به این فرمان به آدرس زیر مطرح کنید
http://www.modxcms.com/forums/index.php?topic=5344
]]>
https://forums.modx.com/thread/56766/ditto#dis-post-333348 Mon, 21 Jan 2008 04:54:01 +0000 https://forums.modx.com/thread/56766/ditto#dis-post-333348
<![CDATA[eForm توضیحات - دانلود - کارایی ها]]> https://forums.modx.com/thread/56765/eform#dis-post-333343
eForm
http://modxcms.com/eForm-1003.html
برای دانلود این فرمان از آدرس بالا استفاده کنید

یکی از اسنیپتها یا فرمانهای مادایکس است
ای فرم" فرمانی است که فرم های وب را به ایمیل تبدیل میکند و میتواند بصورت ایمیل به کاربرانی که شما مشخص میکنید ارسال کند

توضیح ساده تر اینکه فرمی را به راحتی با استفاده از این فرمان تهیه میکنید و از طریق وب به کاربران خود ارسال میکنید

کارایی های این فرمان:
- مشخص کننده دریافت کننده ایمیل حقیقی و کاربر مخصوص و مورد نظر شما
- استفاده از کاپچا یا کلمات مخصوص برای وارد کردن کاربر بمنظور جلوگیری از خرابکاری اسپمرها
- پشتیبانی از ایمیلهای با فرمت اچ تی ام ال و یا ضمیمه - اتچمنت
- گزاش کار و کلیه مراحل
- گزارش باز شدن ایمیل
- پاسخ خودکار
- پشتیبانی از cc و bcc برای ارسال به کاربران
- قابلیت برنامه ریزی در طول زمانبندی مشخص

طریقه ی نصب:
فایل زیپ شده را در مسیر زیر باز کنید:
assets/snippet/
پس از این کار شما پرونده ای بنام زیر را خواهید داشت
eform
یک فرمان یا اسنیپت جدید بسازید
نام آنرا همان
eform
بگذارید و محتوای فایل زیر را در آن وارد کنید
eform.snippet.tpl
نمونه مثالها و تشریحات بیشتر را از شاخه ی زیر باز کنید:
eform/docs/eform.htm
دستور فرمان را در داخل صفحات وب خود در قالب اضافه کنید

چنانچه سوالی در این زمینه بود در فورم زیر و یا همینجا مطرح کنید
http://modxcms.com/forums/index.php?topic=7521

]]>
https://forums.modx.com/thread/56765/eform#dis-post-333343 Mon, 21 Jan 2008 04:49:41 +0000 https://forums.modx.com/thread/56765/eform#dis-post-333343
<![CDATA[بعد از قطع دسترسی از مدیریت چه کنیم ؟]]> https://forums.modx.com/thread/56756/#dis-post-333303 در مدایکس وقتی بیش از چند مرتبه پشت سر هم کلمه ی عبور خود را غلط وارد می کنید قطع دسترسی می شوید و قادر به ورود مجدد نیستید. برای این کار مراحل زیر را طی کنید تا دوباره بتوانید وارد بخش مدیریت شوید
وارد پی اچ پی مای ادمین شوید برای این کار باید دسترسی به هاست داشته باشید. سپس در منوی کشویی سمت چپ خود نام بانک اطلاعاتی را پیدا کنید و انتخاب کنید آنرا. اکنون دنبال جدول زیر بگردید
table_prefix_user_attributes
در این جدول بگردید و فیلد زیر را پیدا نمایید
blockeduntil
این فیلد حاوی 10 عدد می باشد که این فیلد را ویرایش نمایید و مقدار آنرا به صفر تغییر دهید. امیدوارم کلمه ی عبورتان هیچ وقت فراموشتان نشود
موفق باشید - حمید رضا محمد کاظمی cool]]>
https://forums.modx.com/thread/56756/#dis-post-333303 Mon, 21 Jan 2008 04:15:36 +0000 https://forums.modx.com/thread/56756/#dis-post-333303
<![CDATA[فارسی Skin graft ماژول پوسته ساز]]> https://forums.modx.com/thread/56768/skin-graft#dis-post-333358 در اين بخش قصد دارم که شما را با ماژول پوسته ساز براي مد ايکس آشنا کنم
معرفي

به وسيله اين ماژول شما مي توانيد قالب جدید ایجاد کنید و یاقالبهاي خود را در مد ايکس مديريت کنيد , قالب جدبدي نصب کنيد (فايلهاي فشرده زيپ) قالبهاي قبلي را ويرايش کنيد و قالب پيش فرض ايجاد کنيد کلأ هر کاري که بخواهيد با قالبها انجام دهيد در اين ماژول وجود دارد
ضمنا ميتوانيد تکه ها و متغيرهاي قالب را با بسته قالب خود نصب کنيد
دانلود
نسخه نهايي اين ماژول را از آدرس زير دريافت کنيد
http://www.modxcms.com/SkinGraft-1146.html
نصب ماژول
به نظر من اگه مي خواي کاري درست انجام بشه خودت انجامش بده و هيچ وقت به يه ماشين اطمينان نکن
پس من طريقه نصب دستي اين ماژول رو براي شما مي نويسم
براي نصب دستي به ترتيب زير عمل مي کنيم
1-بعد از دانلود فايل را از حالت فشرده خارج کنيد
2-دايرکتوري را در مسي زير ايجاد مي کنيم
[MODx Directory]/assets/modules/skingraft
س
3-تمام فايلها را به آن دايرکتوري انتقال مي دهي
4
بگذاريدSkinGraftدر بخش مديريت ماژول جديد ايجاد کنيد و نام آنرا

5
را در قسمت کد ماژول کپي کنيدsg.module.txt محتويات فايل

و در قسمت پيکر بندي ماژول عبارت زير را وارد کنيد
اگر مايليد که از زيان فارسي به عنوان زبان پيش فرض استفاده شود فايلهاي را که ضميمه اين پست شده دانلود کنيد در اين بسته دو و محتويات آن را جايگزين کنيد در اين فايل بنده زيان پيش فرض را sg.module.txt فايل وجود دارد فايل
به فارسي تغيير دادم پس شما براي استفاده از پيش فرض فارسي بايد به جاي فايل که در خود بسته آمده از فایلی که در ضمیمه این پست آمده استفاده کنيد
توجه کنید در صورتی که از یبان پیش فرض فارسی یا انگلیسی استفاده کنید در حین کار با ماژول نیز می توان زبان را تغییر داد و مسئله مهم استفاده از فایل زبان است این پیش فرض فقط در بالا امدن ماول با زبان دلخواه ما کمک می کند
کپي کنيد این فایل نیز در ضمیمه این پست موجود استlang فايل بعدي فايل زبان است که بايد در پوشه
6
بر روي تب پيکربندي کليک کنيد و در قسمت پيکر بندي ماژول عبارت زير را وارد کنيد
&mod_lang=Language;string;english

در صورتي که مايليد از پيش فرض فارسي به جاي انگليسي استفاده کنيد بايد به جاي عبارت بالا عبارت زير را در قسمت پيکربندي ماژول استفاده کنيد
&mod_lang=Language;string;persian

توجه کنيد که پسوند قابل شناسايي براي باز کردن قالب به صورت زير است
.sg.zip template file.

وقتي که براي بار اول ماژول را اجرا مي کنيد ليستي از قالبهاي که در پوشه قالب وجود دارد را مشاهده مي کنيد
مي توانيد هر کدام از اين قالبها را انتخاب کرده ويرايش کنيد
در ضمن مي توانيد قالبهاي جديد را ايجاد کرده و از آنها براي پرونده هاي مختلف استفاده کنيد سعي مکنم در مراحل بعد شما را بيشتر با نحوه کار اين ماژول آشنا کنم

[/right]]]>
https://forums.modx.com/thread/56768/skin-graft#dis-post-333358 Mon, 21 Jan 2008 02:49:17 +0000 https://forums.modx.com/thread/56768/skin-graft#dis-post-333358
<![CDATA[آژاکس]]> https://forums.modx.com/thread/56772/#dis-post-333387 [right]مجموعه‌ای از استانداردها و فناوری‌های وب است که به(Ajax؛ سرواژهٔ «Asynchronous JavaScript And XML»)، اِیْ‌جکس یا آژاکس ه
کمک آن‌ها می‌توان برنامه‌هایی مبتنی بر وب تولید کرد که به آسانی با کاربران تعامل داشته باشند.
serverفناوری‌ها طبق معماری که آژاکس پیشنهاد می‌کند و با کمک انتقال تکه‌های کوچک داده و اطلاعات از رایانهٔ خادم
صفحات وب از حالت منفعل خارج می‌شوند و واکنش‌هایی مناسب با رویدادها انجام می‌دهند.

* مجموعه فناوری‌های تشکیل دهنده آژاکس عبارت‌اند از
o XHTML و CSS.نمایش استاندارد با استفاده از
o Document Object Model) DOM).نمایش پویایی و تعاملات با استفاده از
o XML و XSLT.تبادل و دستکاری داده با استفاده از
o XMLHttpRequest.بازیابی داده‌ها بصورت غیر همروند با استفاده از
o برای سرهمبندی همه چیز با هم. JavaScript



معماری جدیدی برای وب Ajax

روش کار برنامه‌های کلاسیک وب چیزی شبیه این است: اکثر تعاملات کاربر با رابط کاربری باعث ارسال یک درخواست به سرور می‌شود. سرور پردازش‌های لازم را انجام داده و به کلاینت بازمی‌گرداند. این مدل بر اساس هدف اصلی وب، یعنی ایفای نقش یک رسانه برای ابرمتن است.HTMLسپس یک صفحه ، الزاماً
اما آنچه وب را برای ابرمتن‌ها مناسب می‌کند، الزاماً آن را برای برنامه‌های نرم‌افزاری نیز مناسب نخواهد کرد. مسئله اینجاست که برنامه‌های وب برای کاربرد بودن طراحی نشده‌اند و این باعث شده است که در بسیاری موارد کاربر را نادیده بگیرند(Application)
فرض کنید کاربر می‌خواهد در یک فروشگاه الکترونیک، مشخصات جنس بعدی را ببیند، یا یک جنس را به سبد خرید خود اضافه کند. اتفاقی که می‌افتد این است که برای انجام هریک از این کارها، چون نیاز است با سرور ارتباط برقرار شود، باید یک درخواست به سرور ارسال شده، سرور پردازشهای لازم را انجام دهد و سپس یک صفحه به عنوان نتیجه بازگرداند. کاربر هم در این میان می‌تواند با انگشتانش بازی کند!

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


چه پیشنهادی ارائه می‌دهدAjax اکنون ببینیم

قسمت‌های مهم معماری پیشنهادی

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

کاربردها
حتماً در بخش پست الکترونیک وب‌گاه یاهو دیده‌اید که با تایپ حروف اول نام دوستانتان نام چند نفر از آنها از پایگاه داده‌ها فراخوانی شده و به شما نمایش داده می‌شود. این کار بدون اینکه صفحه بارگذاری مجدد گردد انجام می‌شود. به زبان ساده‌تر، آژاکس فناوری‌ای ست که در آن با بارگذاری شدن یک صفحه، امکان فراخوانی برنامه‌های سمت رایانهٔ خادم بدون بارگذاری مجدد صفحه وجود دارد. برنامه‌های آژاکس راهی برای ساخت برنامه‌هایی تعاملی در وب فراهم کرده‌اند. برای این‌ کار کافیست یک عنصر فعال که قابل فراخوانی در جاوااسکریپت باشد بتواند تحت کنترل جاوااسکریپت با سرور تماس گرفته و اطلاعات درخواست کند.[/right]]]>
https://forums.modx.com/thread/56772/#dis-post-333387 Mon, 21 Jan 2008 11:29:49 +0000 https://forums.modx.com/thread/56772/#dis-post-333387
<![CDATA[نكات مهم استانداردهاي وب]]> https://forums.modx.com/thread/56774/#dis-post-333391
با سلام

به مرور زمان سعي دارم نكات مهم و موثر در تهيه ي صفحات استاندارد در وب را جمع آوري و ارائه كنم:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
   "http://www.w3.org/TR/html4/strict.dtd">
<HTML lang="fa">
<HEAD>
<TITLE>صفحه اي به زبان شيرين فارسي</TITLE>
</HEAD>
<BODY>
...محتويات صفحه به زبان فارسي...
<P lang="es">...پاراگرافي با متون زبان اسپانيولي...
<P>...بازگشت به نوع نوشتار فارسي...
<P>...متن فارسي در اينجا توسط يك متن ژاپني بريده شده <EM lang="ja">كمي از نوشتار عجيب غريب ژاپني</EM>ادامه ي متن فارسي زيبا...
</BODY>
</HTML>



همانطور كه متوجه شديد اين نوشته سعي دارد به طرح تدوين نوشته هاي زبانهاي مختلف در ميان هم بپردازد
تنها متد استاندارد استفاده از چند زبان در يك صفحه همين است و ساير متدها هرچند كه قابل نمايش باشد اما دليل بر استاندارد آن نخواهد بود
با حفظ شرايط استاندارد كامل صفحات وب ميتوان از بهترين نتيجه ي حاصله ي (تحت كنترل ما بعنوان برنامه نويس يا طراح آن) در صفحه كه در سيستم هدف يا بازديد كننده به نمايش درخواهد آمد اطمينان حاصل كنيم و بدانيم كه بازديدكنندگان مطمئنا محيطي يك شكل را در همه ي سيستمهاي عامل و مرورگرها تجربه ميكنند.
]]>
https://forums.modx.com/thread/56774/#dis-post-333391 Sat, 29 Sep 2007 12:03:24 +0000 https://forums.modx.com/thread/56774/#dis-post-333391
<![CDATA[Persian Modx Wiki]]> https://forums.modx.com/thread/56773/persian-modx-wiki#dis-post-333389 سلام به همه عزیزان

یک برنامه ی هماهنگ برای تهیه ی وایکی مادایکس فارسی لازم هست
دوستانی که علاقمند هستند اعلام آمادگی کنند تا یک برنامه داشته باشیم برای وایکی مادایکس فارسی
در بخش فایلهای زبان وایکی مادایکس به جز فایل اصلی انگلیسی فقط اسپانیولی و فرانسوی موجود است و بهتر است سعی گروهی ما بر این باشد که وایکی سوم مادایکس باشیم
همچنین در دیگر بخشها همچنان زبان فارسی دوشادوش سایر زبانها و جلوتر از زبانهایی ست که قدمت بیشتری از فارسی در مادایکس
دارند
اگر این فعالیتها گروهی شد مطمئنا بهتر از اینها کار پیش می رود
قابل توجه اینکه پس از نسخه ی 0.9.6 تمامی ترجمه ها و هماهنگیهای فایلهای زبان در وایکی خواهد بود

یا علی
]]>
https://forums.modx.com/thread/56773/persian-modx-wiki#dis-post-333389 Tue, 15 May 2007 11:24:31 +0000 https://forums.modx.com/thread/56773/persian-modx-wiki#dis-post-333389
<![CDATA[آموزش مکسی گالری]]> https://forums.modx.com/thread/56771/#dis-post-333383 یک گالری عکس بسیار پیشرفته است که امکانات بسیاری به شما میدهد
برای دانلود آن از لینک زیر استفاده کنید:
http://modxcms.com/MaxiGallery-532.html

قابلیتها:
از تکنیک آژاکس استفاده شده - قابلیت نوشته خودکار بر روی عکسها (بعنوان مثال حق کپی رایت شما) - تغییر سایز خودکار از پیش مشخص شده - تغییرات و فیلتر گذاری - کئچک کردن خودکار عکس (تامبنیل) برای نمایش در لیست - قابلیت ایجاد آلبومهای شخصی و گروهی - قابلیت انتخاب سطوح دسترسی

نمونه زنده و حاضر برای امتحان و شماهده این گالری در حال کار
http://www.netguru.fi/modx/maxigallery-slidebox.html

نحوه نصب:
ابتدا فایل زیپ شده را در کامپیوتر خود باز کنید و محتوای پوشه را در مسیر زیر در سایت خود آپلود کنید
assets/snippets/maxigallery/
پس از ان در مسیر زیر این پرونده را ایجاد کنید
assets/galleries/
و اجازه دسترسی سرور آنرا از 666 به 777 تغییر دهید
از طریق بخش مدیریت ماد ایکس یک فرمان یا اسنیپت جدید ایجاد کنید بنام
MaxiGallery
و محتوای فایل زیر را در آن وارد کنید
maxigallery.txt
فرمان را با استفاده از کد زیر در سایت خود فراخوانی کنید
go to web www.pasokh.net]]>
https://forums.modx.com/thread/56771/#dis-post-333383 Fri, 06 Apr 2007 05:00:08 +0000 https://forums.modx.com/thread/56771/#dis-post-333383