طریقه سفارشی کردن صفحات شخصی و عمومی کاربران با استفاده از page templates در لایفری 6.1
ابتدا باید page template مورد نظرمان را ایجاد کنیم برای این کار به مسیر زیر می رویم
Control Panel>Page Templates>Add
بعد از ایجاد کردن قالب مورد نظر در صفحه ی ویرایش آن بر روی گزینه open page template کلیک می کنیم، صفحه ای را به ما نشان می دهد که ما می توانیم در آن پرتلتها ی مورد نظرمان را با طرح شخصی و پیکر بندی شخصی مورد نظر مان ایجاد کنیم و آن را ذخیره کنیم.
این قالب در پایگاه دادهای پرتال در جدول layoutprototype ذخیره می شود.
برای سفارشی کردن صفحات عمومی و شخصی کاربران در موقع ایجاد شدن کاربرکلاس ServicePreAction فراخوانی می شود که ما می توانیم با override کردن این کلاس صفحات شخصی و عمومی کاربرمان را سفارش کنیم.
کلاس ServicePreAction دارای دو متد به نامهای addDefaultUserPrivateLayoutByProperties و addDefaultUserPublicLayoutByProperties است که ما می توانیم از این دو متد برای سفارشی سازی استفاده کنیم.
نحوه کار این دو متد به این شکل است که ابتدا یک شیء layout برای صفحات شخصی و عمومی کاربر مورد نظر می سازد. سپس تنظیماتی به این شیء می دهد که ازآن برای نمایش دادن پرتلها در طرح و قالب مشخصی استفاده می کند.
ما با استفاده از شیء layoutprototype یک layout جدید می سازیم با تنظیمات قالبی که قبلا در page template ساختیم. سپس layoutای که خود متد ساخته بود را بروزرسانی می کنیم و تنظیمات آن را با تنظیمات layout جدید عوض می کنیم که این کار سبب می شود layout ای که خود متد ایجاد کرده بود با تنظیمات و قالب و طرح page templateای که ساخته بودیم عوض شود و صفحات شخصی و عمومی کاربر مورد نظر با تنظیمات page template شکل بگیرد.
قطعه کد زیر در این مورد به ما کمک می کنند:
1 2 3 4 5 6 7 |
long layoutPrototypeId = Long.valueOf(PropsUtil.get("key")).longValue(); LayoutPrototype layoutPrototype = LayoutPrototypeServiceUtil.getLayoutPrototype(layoutPrototypeId); Layout layoutPrototypeLayout = layoutPrototype.getLayout(); LayoutServiceUtil.updateLayout(layout.getGroupId(), layout.isPrivateLayout(), layout.getLayoutId(),layoutPrototypeLayout.getTypeSettings()); |
قطعه کد خط کشیده شده بالا به این منظور ایجاد شده که تنظیمات layout ایجاد شده پیش فرض با تنظیمات جدید معاوضه کند.
سلام. خسته نباشید.ممنون از آموزشتون. ببخشید امکانش هست که درباره ی plugin thems و فایل های .war و همچنین data base هم آموزشی داشته باشین؟؟؟
باتشکر فرواوان
با سلام
انشاالله در آینده درباره تم آموزش هایی بر روی وب سایت قرار خواهد گرفت
با تشکر از توجه شما