سلام ، آیا این بازدید اول شماست ؟ یا
تبلیغات در این انجمن سفارش تبلیغات
نمایش نتایج: از شماره 1 تا 1 , از مجموع 1

موضوع: آموزش استفاده از فیلد سفارشی جوملا برای اضافه کردن urlهای هم کانون

  1. #1

    تاریخ عضویت
    May 2018
    نوشته ها
    1
    تشکر
    0
    تشکر شده 0 بار در 0 ارسال

    آموزش استفاده از فیلد سفارشی جوملا برای اضافه کردن urlهای هم کانون

    در این مقاله به صفحه ویرایشگر مقاله جوملا یک فیلد جدید اضافه کرده و از محتوای فیلد به عنوان خروجی یک لینک کانونی (canonical link) در هد صفحه در نمای مقاله استفاده می کنیم.

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

    توجه: در طی انجام این رویه اگر URL صفحه خود را تغییر دهید، لازم است که فیلد هم کانون اضافه شده را به روزرسانی کنید تا با URL مقاله یکسان باشد. در غیر اینصورت صفحه 404 (404 page) یا سایر صفحات مختلف محتوا نمایش می یابد، بنابراین این عمل آسیب بیشتری به عملکرد سایت می زند تا نبود لینک های هم کانون.

    در نسخه 3.7 جوملا امکان اضافه کردن فیلدهای سفارشی (custom fields) به وبسایت تعبیه شده است، بنابراین می توان در ادمین جوملا فیلد را اضافه کرده و داده ها را بدون ایجاد پلاگین می توان ذخیره کرد. کار را با ایجاد یک لینک سفارشی شروع می کنیم.

    در فیلدهای سفارشی دو نوع فیلد داریم یکی Fields و دیگری Field Groups . هر دو را می توان در منوی محتوا و در نوار بالای صفحه یافت.

    راهنمای استفاده از فیلد سفارشی (Custom Fields) در جوملا – اضافه کردن URL کانونیکال - برای آموزش این مقاله با گروه فیلد (Field Groups) شروع کرده و یک گروه فیلد جدید به نام SEO می سازیم. تنها فیلدی که اینجا لازم است، فیلد عنوان می باشد. این موجب خلق یک برگه جدید در بالای ویرایشگر مقاله جوملا می شود
    برای آموزش این مقاله با گروه فیلد (Field Groups) شروع کرده و یک گروه فیلد جدید به نام SEO می سازیم. تنها فیلدی که اینجا لازم است، فیلد عنوان می باشد. این موجب خلق یک برگه جدید در بالای ویرایشگر مقاله جوملا می شود.

    راهنمای استفاده از فیلد سفارشی (Custom Fields) در جوملا – اضافه کردن URL کانونیکال - در نسخه 3.7 جوملا امکان اضافه کردن فیلدهای سفارشی (custom fields) به وبسایت تعبیه شده است، بنابراین می توان در ادمین جوملا فیلد را اضافه کرده و داده ها را بدون ایجاد پلاگین می توان ذخیره کرد.
    حالا گروه را داریم، بایستی فیلد را به آن اضافه کنیم.

    طریقه اضافه کردن فیلد جدید
    در صفحه لیست فیلدها، روی دکمه New کلیک کرده و یک فیلد جدید می سازیم.

    برگه جنرال
    راهنمای استفاده از فیلد سفارشی (Custom Fields) در جوملا – اضافه کردن URL کانونیکال - می توان نوع فیلد را به مقدار پیش فرض یعنی text رها کرد، اما استفاده از URL موجب می شود مقدار تعیین اعتبار قبل از ذخیره شدن محتوای فیلد وجود داشته باشد تا از اشتباهات ساده در حین نوشتن محتوای فیلد اجتناب شود. بعد از تغییر نوع فیلد، چند گزینه دیگر ظاهر می شود که همانند اسکرین شات فوق ست می شوند
    من نام این فیلد را Canonical URL گذاشته و شرح آن را با یک تذکر مختصر در مورد اضافه کردن لینک هم کانون به صدر سند پر می کنم.

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

    در این آموزش برچسب (label) فیلد با نام آن یکسان است، اما می توانید به هر نامی که دوست دارید ست کنید.

    مقدار Required را می توان به no ست کرد، تا در مواقع لزوم بتوان آن را خالی رها کرد و فیلد خالی را ذخیره کرد. مثلا زمان نوشتن پیش نویس مقاله ممکن است هنوز در مورد متن URL تصمیم نگرفته باشیم. اگر این مقدار به Yes ست شود، بایستی برای درفت مقاله نیز URL تخصیص دهیم.

    مقدار Default value را خالی رها می کنیم، زیرا نمی خواهیم در صورت خالی ماندن فیلد چیزی ذخیره شود. در قالب لینک (Schemes) مقدار 'http' و 'https' را انتخاب می کنیم. از آنجایی که این یک اپلیکیشن وب است، صفحات همیشه یکی از این دو حالت خواهند بود.

    مقدار relative را به no ست می کنیم، زیرا لینک های هم کانون همیشه بایستی به یک URL کامل وب پیج ست شوند. در سمت راست، گروه فیلد SEO جدیدی که ساختیم را انتخاب کنید و دسته را ست کرده یا رها کنید و یا به دسته مورد نظری که می خواهید فیلد در آن در دسترس باشد، ست کنید.

    برگه گزینه ها
    راهنمای استفاده از فیلد سفارشی (Custom Fields) در جوملا – اضافه کردن URL کانونیکال - می توان فیلد placeholder را به یک مقدار نمونه ست کرده یا آن را خالی گذاشت. اگر متنی برای placeholder در فیلد قرار دهیم، متن نمونه (معمولا یک نمونه از ورودی فیلد که در اینجا یک نمونه URL است) در مرورگرهایی که از این خاصیت پشتیبانی می کنند، ظاهر خواهد شد. مزیت این ویژگی در این است که کاربر می داند چه نوع محتوایی باید در فیلد وارد کند
    می توان فیلد placeholder را به یک مقدار نمونه ست کرده یا آن را خالی گذاشت. اگر متنی برای placeholder در فیلد قرار دهیم، متن نمونه (معمولا یک نمونه از ورودی فیلد که در اینجا یک نمونه URL است) در مرورگرهایی که از این خاصیت پشتیبانی می کنند، ظاهر خواهد شد. مزیت این ویژگی در این است که کاربر می داند چه نوع محتوایی باید در فیلد وارد کند.

    مقدار فیلد Show on را به both ست می کنیم، تا بتوان فیلد را هم در ادمین و هم در وبسایت ویرایش کرد. اطمینان حاصل کنید که گزینه Automatic Display را به NO ست کنید. اگر این گزینه به چیز دیگری ست شود، جوملا محتوای فیلد را در داخل مقاله درج خواهد کرد، چیزی که ما نمی خواهیم رخ دهد. ما فقط می خواهیم از فیلد برای ایجاد یک هد لینک (head link) استفاده کنیم.

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

    راهنمای استفاده از فیلد سفارشی (Custom Fields) در جوملا – اضافه کردن URL کانونیکال - مقدار فیلد Show on را به both ست می کنیم، تا بتوان فیلد را هم در ادمین و هم در وبسایت ویرایش کرد. اطمینان حاصل کنید که گزینه Automatic Display را به NO ست کنید. اگر این گزینه به چیز دیگری ست شود، جوملا محتوای فیلد را در داخل مقاله درج خواهد کرد، چیزی که ما نمی خواهیم رخ دهد. ما فقط می خواهیم از فیلد برای ایجاد یک هد لینک (head link) استفاده کنیم
    اگر همه چیز درست انجام شده باشد، یک برگه جدید به نام SEO در ویرایشگر مقاله جوملا ظاهر می شود که فیلد URL جدید ما در آن قرار دارد.

    استفاده از فیلد جدید در وبسایت
    حالا می توانیم URLهای هم کانون (canonical URLs) خود را ذخیره کرده، می توانیم اطلاعات را در وبسایت و در زمان نمایش وب پیج مشاهده کنیم و می توانیم از آن برای ایجاد لینک خود استفاده کنیم.

    اولین کاری که باید انجام دهیم ایجاد یک رونویسی چیدمان مقاله (article layout override) است بطوری که تغییرات ما در زمان به روز رسانی جوملا حذف نشوند و مجبور باشیم دوباره همین فرآیند را تکرار کنیم.

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

    می توان به طور دستی رونویسی مقاله را انجام داد، اما در منوی Extensions و زیر منوی Templates جوملا امکان ایجاد رونوشت قالب مقاله با کلیک کردن بر روی نام قالب در برگه Create Overrides وجود دارد. برای آموزش جامع در مورد ایجاد رونوشت، مقاله طریقه ایجاد رونوشت در جوملا را بخوانید.

    راهنمای استفاده از فیلد سفارشی (Custom Fields) در جوملا – اضافه کردن URL کانونیکال - در منوی Extensions و زیر منوی Templates جوملا امکان ایجاد رونوشت قالب مقاله با کلیک کردن بر روی نام قالب در برگه Create Overrides وجود دارد
    طریقه دستی ایجاد رونوشت از قالب های جوملا
    برای ایجاد رونوشت (override) دستی، در پوشه تمپلیت ریشه جوملا، دایرکتوری زیر که وجود ندارد را ایجاد کنید:

    html/com_content/article/
    حال فایل موجود در آدرس زیر را کپی کرده و به پوشه جدیدی که ساختیم منتقل می کنیم

    components/com_content/views/article/tmpl/default.php
    این فایلی است که می خواهیم برای چک کردن محتوای فیلد استفاده کرده و لینک جدید خود را به آن اضافه کنیم. فایل را در یک ویرایشگر کد متنی یا نوت پد باز کنید. برای اطلاعات بیشتر می توانید مقاله طریقه استفاده و بدست آوردن محتوای فیلد سفارشی را بخوانید.

    این راهنما اساسا می گوید که فیلدهای سفارشی به یک متغیر item$ وصل هستند و راه های دیگر رندر مستقیم فیلدها را معرفی می کند. این دقیقا صحت ندارد زیرا item$ در اصل وجود ندارد و اگر بخواهید از آن استفاده کنید با خطا مواجه می شوید. اما همانند سایر اطلاعات موجود در فایل default.php، این آیتم به صورت کد this->$item در دسترس است.

    اگر کد $this-gt;$item را دامپ کنیم، می توانیم فیلد را ببینیم حتی اگر خالی باشد:

    ["jcfields"]=>
    array(1) {
    [1]=>
    object(stdClass)#457 (31) {
    ["id"]=>
    string(1) "1"
    ["title"]=>
    string(13) "Canonical URL"
    ["name"]=>
    string(13) "canonical-url"
    من در اینجا کل محتوای را درج نمی کنم، اما اگر می خواهید کل محتوای موجود را ببینید، می توانید خط زیر را به فایل اضافه کرده و سپس صفحه را بارگذاری کنید تا محتوای آن را ببینید:

    var_dump(this->$item);
    از آنجایی که ما فقط می خواهیم مقدار را چک کنیم، می توانیم بخشی از سند که در مورد استفاده از رندر هلپرها است را نادیده بگیریم و فقط محتوای فیلد را مستقیما چک کنیم.

    از آنجایی که jcfields حاوی آرایه کلید بندی شده ای (keyed array) از اشیاء است، ساده ترین راه برای بدست آوردن محتوای فیلد این است که از یک حلقه استفاده کرده و بین فیلدها بچرخیم تا فیلد مورد نظرمان را پیدا کنیم.

    کد زیر این حلقه بوده و تمامی فیلدها را بررسی می کند تا زمانی که فیلدی به نام Canonical URL را پیدا کند. اگر فیلد را پیدا کند مقدار آن فیلد را در جایی که ما از طریق قرار دادن کد تعیین می کنیم در رونوشت مقاله درج (echo) می کند. پس از اینکه فیلد را پیدا کردیم، دستور ادامه را اضافه می کنیم تا حلقه را ختم کند و مابقی فیلدهای موجود در آرایه را نادیده بگیرد.

    foreach ($this->item->jcfields as $field) {
    if ($field->title === 'Canonical URL') {
    echo $field->rawvalue;
    // Break out of the loop when we have what we need
    continue;
    }
    };
    راهنمای استفاده از فیلد سفارشی (Custom Fields) در جوملا – اضافه کردن URL کانونیکال - از آنجایی که jcfields حاوی آرایه کلید بندی شده ای (keyed array) از اشیاء است، ساده ترین راه برای بدست آوردن محتوای فیلد این است که از یک حلقه استفاده کرده و بین فیلدها بچرخیم تا فیلد مورد نظرمان را پیدا کنیم
    حالا می توانیم محتوای فیلد را بدست آوریم و بررسی کنیم که آیا رشته محتوای فیلد خالی است یا محتوایی در آن درج شده است. اگر مقداری داشتیم، سپس لینک را به هد سند اضافه می کنیم.

    جهت مشاهده لینک ها باید ثبت نام کنید یا لاگین کنید.


  2. # ADS
    تبلیغات در جوملا فارسی
    تاریخ عضویت
    Always
    نوشته ها
    Many
     

موضوعات مشابه

  1. خطا در بروزرسانی امکانات هسته
    توسط bersam در انجمن مدیریت SMF
    پاسخ ها: 3
    آخرين نوشته: 10-02-2010, 03:05 PM
  2. آموزش نصب بسته ها
    توسط reza11_2005 در انجمن بسته ها و ابزارهای SMF
    پاسخ ها: 4
    آخرين نوشته: 10-07-2009, 07:57 AM
  3. لینک های بسته بروزرسانی مامبو 4.5.4p به 4.6.1p نابود شده!
    توسط yaser1 در انجمن ارتقاء مامبو فارسی
    پاسخ ها: 5
    آخرين نوشته: 01-13-2009, 04:16 PM

علاقه مندی ها (Bookmarks)

علاقه مندی ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •