Skip to content

Commit 90d333e

Browse files
authored
only extend if it is not already extended (#625)
1 parent fe1cf4a commit 90d333e

File tree

1 file changed

+21
-11
lines changed

1 file changed

+21
-11
lines changed

Plugin.php

Lines changed: 21 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -54,14 +54,16 @@ public function register()
5454
/*
5555
* Handle translated page URLs
5656
*/
57-
Page::extend(function($page) {
58-
if (!$page->propertyExists('translatable')) {
59-
$page->addDynamicProperty('translatable', []);
57+
Page::extend(function($model) {
58+
if (!$model->propertyExists('translatable')) {
59+
$model->addDynamicProperty('translatable', []);
6060
}
61-
$page->translatable = array_merge($page->translatable, ['title', 'description', 'meta_title', 'meta_description']);
62-
$page->extendClassWith('RainLab\Translate\Behaviors\TranslatablePageUrl');
63-
if (!$page->isClassExtendedWith('RainLab\Translate\Behaviors\TranslatablePage')) {
64-
$page->extendClassWith('RainLab\Translate\Behaviors\TranslatablePage');
61+
$model->translatable = array_merge($model->translatable, ['title', 'description', 'meta_title', 'meta_description']);
62+
if (!$model->isClassExtendedWith('RainLab\Translate\Behaviors\TranslatablePageUrl')) {
63+
$model->extendClassWith('RainLab\Translate\Behaviors\TranslatablePageUrl');
64+
}
65+
if (!$model->isClassExtendedWith('RainLab\Translate\Behaviors\TranslatablePage')) {
66+
$model->extendClassWith('RainLab\Translate\Behaviors\TranslatablePage');
6567
}
6668
});
6769

@@ -73,8 +75,12 @@ public function register()
7375
$model->addDynamicProperty('translatable', []);
7476
}
7577
$model->translatable = array_merge($model->translatable, ['title', 'description']);
76-
$model->extendClassWith('October\Rain\Database\Behaviors\Purgeable');
77-
$model->extendClassWith('RainLab\Translate\Behaviors\TranslatableModel');
78+
if (!$model->isClassExtendedWith('October\Rain\Database\Behaviors\Purgeable')) {
79+
$model->extendClassWith('October\Rain\Database\Behaviors\Purgeable');
80+
}
81+
if (!$model->isClassExtendedWith('RainLab\Translate\Behaviors\TranslatableModel')) {
82+
$model->extendClassWith('RainLab\Translate\Behaviors\TranslatableModel');
83+
}
7884
});
7985

8086
/*
@@ -85,8 +91,12 @@ public function register()
8591
$model->addDynamicProperty('translatable', []);
8692
}
8793

88-
$model->extendClassWith('October\Rain\Database\Behaviors\Purgeable');
89-
$model->extendClassWith('RainLab\Translate\Behaviors\TranslatableModel');
94+
if (!$model->isClassExtendedWith('October\Rain\Database\Behaviors\Purgeable')) {
95+
$model->extendClassWith('October\Rain\Database\Behaviors\Purgeable');
96+
}
97+
if (!$model->isClassExtendedWith('RainLab\Translate\Behaviors\TranslatableModel')) {
98+
$model->extendClassWith('RainLab\Translate\Behaviors\TranslatableModel');
99+
}
90100

91101
$model->bindEvent('model.afterFetch', static function() use ($model) {
92102
foreach ($model->getFormFields() as $id => $field) {

0 commit comments

Comments
 (0)