سلام خب همه میدونیم المنتور یک صفحه ساز هست و من برای طراحی صفحات ازش استفاده می کنم
اما خب مثلا وقتی بخوام یک اسلایدر بسازم هم المنتور این کار رو انجام میده هم slider revolution که مخصوص این کار هست
سوال اینجاست خب وقتی سر این 2 راهی ها میرسم و میبینیم یک افزونه مخصوص همون کار هست از اون افزونه استفاده کنم یا از امکانات المنتوری؟
هرچند که همه میدونیم slider revolution بهتر از هر افزودنی اسلایدر در المنتور هست
و یا حتی grivty forms , gravity views این ها هم از فرم ساز های المنتوری بهتر هستند
البته من زمانی که ببینم المنتور بهتر کار میکنه خب از اون استفاده می کنم اما وقتی ببینیم پلاگین مخصوص اون کار هست و از المنتور بهتره از اون استفاده می کنم
به نظر شما بهتر نیست برای هرکاری از پلاگین مخصوص خودش استفاده کنیم و همه چیز رو المنتوری نکنیم؟
یک اصلی وجود داره و اونم اینه که تا جایی ممکن نباید افزونه ی اضافی به سایت خودتون اضافه کنید، بنابراین، اگر یک کاری رو المنتور داره براتون انجام میده و افزونه المنتور رو حتما در سایت تون بکار می برید، بی جهت از افزونه ی دیگری استفاده نکنید.
اما درین میانه نکته ای هم هست، و اونم اینه که به شرطی افزونه ای رو نصب نمی کنید که روی کارایی تاثیر نداشته باشه، اگر روی کارایی سایت تاثیر می ذاره و استفاده از افزونه دیگری می تونه کارایی رو افزایش بده، اینجا ارزشش رو داره که از افزونه دومی هم در کنار المنتور استفاده کنید.
مثال: شما اگر با المنتور یک نمایشگر (slider) ایجاد کنید، این نمایشگر حالت ایستا داره و از درون محیط کاربری مدیر، تغییر عکس ها و متن های نمایشگر ممکن نیست، بنابراین نمایشگر المنتور کارایی محدودی داره. / از طرفی، احتمالا شما می خواید که نمایشگر شما حالت پویا داشته باشه و مدیر بتونه عکس های نمایشگر رو عوض کنه، بنابراین در اینجا نیاز به یک افزونه نمایشگر دارید که از طریق محیط کاربری مدیر، بتوان عکس های جدید رو جایگزین عکس های قبلی کنید.
@nimageneral
میشه یک نمونه کد از مولفه ی (ماژول) پویایی که بصورت سفارشی طراحی می کنید بزارید تا منظورتون رو بهتر بشه درک کرد.
ممنون میشم.
بله حتما
ببینید شما میتونید ماژول تون رو به این صورت تعریف کنید، اول تو روت تم فرزند یا تم اصلی تون یه پوشه میسازید بنام custom module و یک فایل پی اچ پی میسازد با کدهای زیر
class Stage extends Widget_Base {
public function get_name() {
return 'stage';
}
public function get_title() {
return __( 'Stage');
}
public function get_icon() {
return 'fa fa-star';
}
public function get_categories() {
return 'basic';
}
protected function _register_controls() {
$this->start_controls_section(
'section',
[
'label'=> __('First Text Content','elementor'),
]
);
$this->add_control(
'title',
[
'label' => __( 'Title', 'elementor' ),
'label_block' => TRUE,
'type' => Controls_Manager::TEXT,
'placeholder' => __('Enter your Title', 'elementor' ),
]
);
$this->add_control(
'text',
[
'label' => __( 'Text', 'elementor' ),
'label_block' => TRUE,
'type' => Controls_Manager::TEXTAREA,
'placeholder' => __('Enter your Text', 'elementor' ),
]
);
$this->add_control(
'customtext',
[
'label' => __( 'Custom Text', 'elementor' ),
'label_block' => TRUE,
'type' => Controls_Manager::WYSIWYG
]
);
$this->add_control(
'image',
[
'label' => __( 'Image', 'elementor' ),
'type' => Controls_Manager::MEDIA,
]
);
$this->add_control(
'video',
[
'label' => __( 'Video ', 'elementor' ),
'type' => Controls_Manager::MEDIA,
'media_type' => 'video',
]
);
$this->end_controls_section();
}
protected function render( $instance = [] ) {
$settings = $this->get_settings_for_display();
$title = $settings['title'];
$text = $settings['text'];
$textCustom = $settings['customtext'];
$image = $settings['image']['url'];
$video = $settings['video']['url'];
$output = '<div class="stage">';
$output .= '</div>';
echo $output;
}
protected function content_template() {}
public function render_plain_content( $instance = [] ) {}
}
قسمت های مختلفی داره که اگر یه نگاه بهش بندازید متوجه میشید، بعد باید این ماژول رو باید توی المنتور ثبت کنید، پس یک پی اچ پی فایل دیگر تو همون فولدر ایجاد میکنید بنام my-widgets.php و کد زیر را درون آن قرار میدید
class My_Elementor_Widgets {
protected static $instance = NULL;
public static function get_instance(){
if ( ! isset(static::$instance)){
static::$instance = new static();
}
return static::$instance;
}
protected function __construct()
{
require_once('stage.php');
add_action('elementor/widgets/widgets_registered',[$this , 'register_widgets']);
}
public function register_widgets(){
\Elementor\Plugin::instance()->widgets_manager->register_widget_type(new \Elementor\Stage() );
}
}
add_action('init','my_elementor_widgets');
function my_elementor_widgets(){
My_Elementor_Widgets::get_instance();
}
و در آخر کار باید فایل my-widgets.pjp رو توی function.php ایمپورت کنی
/**
* Custom Widgets
*
* register custom widget in Elementor
*/
require_once ('custom_widgets/my-widgets.php');
و در آخر کار اون ماژول رو توی ادیتور المنتور پیدا میکنی و دراگ دراپ
شاید کمی گنگ باشه ولی با مطالعه کدها متوجه میشی
@milad
@nimageneral
بله باید براش وقت بزارم و مطالعه کنم. موضوعی نیست که بشه سَرسَری بهش نگاه کرد، باید وقت بزارم.
تجربه ای درین زمینه نداشتم و نمی دونستم چنین کاری رو میشه صورت داد.
به نظر مبحث پیشرفته ای محسوب میشه و توی آموزش های تصویری، چنین مبحثی رو در خصوص المنتور ندیده بودم.
سپاس از شما و وقتی که گذاشتید 👍
سلام دوست عزیز.
یک نکته در خصوص دوراهی هایی که تو هر زمینه ای بوجود میاد بگم.
خودم همیشه همین مشکل رو داشتم.حالا چه تو وردپرس چه تو طراحی گرافیک چه تو سایر موارد.
گاهی وقتا ابزارهایی رو میبینیم که یه کار رو برامون انجام میدن مثل همین انتخاب بین المنتور(هرچند انتخاب خودم WPBakery Page Builder هستش ) و اسلایدر روولوشن.
تو این زمینه اگه میخواین اسلایدری بسازین که ساده باشه و بشه با المنتور ساخت(منظور بدون کدنویسی) , خب طبیعتا با المنتور بسازینش.
اما اگه اسلایدر حرفه ای و شیک میخواین انتخاب اسلایدر روولوشنه. چون واقعا بدون حتی ی خط کد (دروغ نگم 4تا کد css رو باید بزنین دیگه ) میشه اسلایدر های خیلی خوشگل و شیکی ساخت.
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟