On March 26, 2019 we launched new MODX Forums. Please join us at the new MODX Community Forums.
Subscribe: RSS
  • سلام،
    توی تاپیک قراره از طرف گروه مادایکس فارسی یه سری توضیح در مورد بخشهای زیر بصورت خلاصه داده بشه.

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

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

    امیرحسین
      God loves me. 【ツ】


      MODX.ir (Persian Support)

      Boplo.ir/modx/ (Persian)
    • قالب – Template

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

      اطلاعات بیشتر: نحوه ساخت قالب مخصوص برای سایت شما - قالبهای مادایکس

      امیرحسین
        God loves me. 【ツ】


        MODX.ir (Persian Support)

        Boplo.ir/modx/ (Persian)
      • متغیر قالب(TV) – [*Template Variable*]

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

        برای نمونه من قصد دارم در بعضی از صفحات در بالای منوی سایت یک جمله رو نمایش بدم که این جمله میتونه برای هر صفحه متفاوت هم باشه.
        یک متغیر قالب متنی مثلا با نام
        First
        میسازم. قالبهایی که قصد دارم از این متغیر توشون استفاده کنم رو مشخص می کنم و عبارت
        [*first*]
        به اونجایی از قالب که می خوام خروجی ام نمایش داده بشه قرار می دم. در اینجا بالای منو. از این به بعد موقع ویرایش، به صفحاتی که قالبشون این متغیر رو دارن یک فیلد خالی اضافه شده که با پر کردن این فیلد با هر چیزی خروجی در مکان متغیر در قالب قرار می گیره. در اینجا جمله امون رو در فیلد می نویسیم و فقط برای همون صفحه این جمله در بالای منو نمایش داده میشه.
        این ویژگی قابلیت انعطاف فوق العاده ای به طراحی سایت شما میده.

        اطلاعات بیشتر:
        آشنایی با متغیرهای قالب و انواع آن
        تگهای پیشفرض مدایکس برای قالب سایت شما

        امیرحسین

          God loves me. 【ツ】


          MODX.ir (Persian Support)

          Boplo.ir/modx/ (Persian)
        • چانک {{Chunk}}

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

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

          Using Chunk:اطلاعات بیشتر
          چانک در این تاپیک هم معرفی شده: مفهوم چانک

          امیرحسین
            God loves me. 【ツ】


            MODX.ir (Persian Support)

            Boplo.ir/modx/ (Persian)
          • اسنیپت [[Snippet]]

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

            برای مثال اسنیپت
            WayFinder
            که مخصوص نمایش لیست صفحات سایته، تعدادی پارامتر داره برای نمونه مقداری رو به عنوان مبدا نمایش لیست و مقداری رو به عنوان عمق زیرشاخه های قابل نمایش میگیره که به این شکل نوشته میشه
            [[WayFinder? &started=`5` &level=`2`]]
            این پارامترها به اسنیپت میگن که لیست زیرشاخه های صفحه با آیدیه 5 رو با عمق 2 مرحله نمایش بده. نحوه کار با اسنیپت و معرفی پارامترهاش معمولا تو صفحه داونلودش، یک فایل به همراه فایلهای اصلی اسنیپت و یا در دانشنامه مادایکس.
            در استفاده از اسنیپت ها حروف کوچک و بزرگ رو رعایت کنید و همچنین مقدار پارامترو داخل علامت کوتیشن(`) قرار بدید و نه داخل آپوسروف(گیومه، ‘ ). کلید کوتیشن در صفحه کلید معمولا بالای کلید تب قرار داره.

            (Cacheable) اسنیپت ها دو حالت قابل کش
            دارند(Uncacheable) بدون حالت کش
            اسنیپتهایی که به این صورت استفاده میشن
            [[Snippet]]
            قابل کش شدن هستند یعنی بعد از یکبار اجرا اطلاعات خودش رو در حافظه مرورگر قرار میدن و در اجراهای بعدی از آن استفاده میکنن و اسنیپتهایی که به شکل
            [!Snippet!]
            بکار می روند این حالت رو ندارند و با هربار اجرای صفحه بصورت کامل پردازش می شن.
            مسلما استفاده از حالت کش سرعت بارگذاری صفحات سایت رو بیشتر می کنه ولی باید دقت کرد که برخی اسنیپتها لازمه که هربار پردازش بشن و در اگر بصورت قابل کش بکار برن یا اجرا نمیشن یا بد اجرا میشن.

            اطلاعات بیشتر در رابطه با حالتهای کش اسنیپت
            Using Snippet مطالب بیشتر در مورد اسنیپتها
            اسنیپت در این تاپیک هم معرفی شده: مفهوم اسنیپت

            امیرحسین
              God loves me. 【ツ】


              MODX.ir (Persian Support)

              Boplo.ir/modx/ (Persian)
            • ماژول Module

              ماژول ها دقیقا مشابه اسنیپت ها هستند با این تفاوت که چون در فقط در بخش مدیریت قابل دسترسی هستند، فقط مدیر سایت امکان استفاده ازش رو داره.
              به زبان ساده تر اسنیپت برای تبادل اطلاعات با بازدیدکننده ساخته میشه و ماژول برای تبادل اطلاعات با مدیر.

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


              اطلاعات بیشتر: ماژول | آموزش ساخت ماژول بخشاول -دوم | ساخت ماژول 1- 2- 3

              امیرحسین
                God loves me. 【ツ】


                MODX.ir (Persian Support)

                Boplo.ir/modx/ (Persian)
              • پلاگین Plugin

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

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

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


                اطلاعات بیشتر: پلاگین رخدادهای مادایکس

                امیرحسین
                  God loves me. 【ツ】


                  MODX.ir (Persian Support)

                  Boplo.ir/modx/ (Persian)
                • [+Placeholder+]

                  اسنیپتها می تونن مقادیری رو بسازن و به عنوان خروجی نمایش بدن. میشه این مقادیر رو در متغیری قرار داد و به کاربر داد تا در هر جایی که نیاز داره خروجی رو قرار بده.

                  برای مثال اسنیپت دیتتو مخصوص دسترسی به صفحات سایت و اطلاعاتشونه. این اسنیپت تاریخ ساخته شدن صفحه رو در یک
                  Placeholder
                  به نام
                  Date
                  قرار میده که طراح هر جای صفحه که عبارت
                  [+date+]
                  رو قرار بده مقدار متناظر با اون که در اینجا تاریخ ایجاد صفحه است رو چاپ می شه.

                  باید دقت کنید که این نوع از داده ها زمانی مقدار داره که اسنیپتش در همون صفحه در حال اجرا باشه یعنی در همین مثال مقدار
                  [+date+]
                  تنها جایی خروجی میده که اسنیپت دیتتو هم در اون صفحه قرار داشته باشه.


                  اطلاعات بیشتر
                  setPlaceholder
                  getPlaceholder

                  امیرحسین
                    God loves me. 【ツ】


                    MODX.ir (Persian Support)

                    Boplo.ir/modx/ (Persian)
                  • فوق العاده است
                    ممنون
                    چند وقت دیگه میگذاریم تو سایت پشتیبانی فارسی مادایکس
                    خیلی طول نمیکشه wink
                      [img]http://i10.tinypic.com/52c4eir.gif[/img][/td]
                      [td][Wiki] [Persian support forum]
                      [SVN] [RTL SVN Branch] [bugs] [FishEye+Crucible] [Learn MODx!] | [My Google Code]
                      [font=tahoma][برای دسترسی به راهنمای فارسی به [url=http://www.modxcms.ir]