Перезаписать form.php типа аутентификации в пакете

Я пытаюсь перезаписать файл form.php для «конкретного» типа аутентификации. Я могу заставить его работать, если размещу файл form.php в каталоге /application/authentication/concrete, но не из каталога пакета моей темы.

<?php foreach ($activeAuths as $auth): ?>
    <div data-handle="<?= $auth->getAuthenticationTypeHandle(); ?>" class="authentication-type authentication-type-<?= $auth->getAuthenticationTypeHandle(); ?>">
        <?php $auth->renderForm($authTypeElement ?: 'form', $authTypeParams ?: array()); ?>
    </div>
<?php endforeach; ?>

Если я попытаюсь загрузить другую форму (заменив второй параметр в методе renderForm), ничего не произойдет.

Любые идеи, как сделать c5 осведомленным о переопределении?


person Jakob Fuchs    schedule 28.12.2016    source источник
comment
каков точный путь внутри пакета?   -  person toesslab    schedule 29.12.2016
comment
Что такое $activeAuth?   -  person toesslab    schedule 29.12.2016
comment
Путь такой же, как в каталоге /application: /packages/package_handle/authentication/concrete   -  person Jakob Fuchs    schedule 30.12.2016
comment
Если вы имеете в виду $activeAuths, это массив, содержащий все типы аутентификации, используемые на сайте.   -  person Jakob Fuchs    schedule 30.12.2016


Ответы (1)


Вы не можете. Я разработал пакет, который должен был сделать это, и его нельзя переопределить из пакета. Вы должны сделать это из каталога приложения.

В моем пакете есть опция «установить», которая копирует измененную форму из каталога пакета в каталог приложения.

person Nour Akalay    schedule 01.01.2017
comment
Да я знаю, что это отстой. Если можно так сказать, зачем вам переопределять форму? - person Nour Akalay; 03.01.2017
comment
Стиль должен быть сильно настроен, и я предпочитаю иметь чистый вид и не сбрасывать все стили BS. Также пришлось заменить метки на значки, которые сложно реализовать без JS. - person Jakob Fuchs; 03.01.2017
comment
Поскольку мы уже беседуем здесь, у вас есть идеи, почему, если я помещу файл login.php в каталог моей темы, он не будет использовать файл view.php моей темы, как это должно быть на любой отдельной странице, и вместо этого я должен включить свой заголовок а футер вручную? - person Jakob Fuchs; 03.01.2017
comment
Для системных отдельных страниц вы должны заявить об использовании вашей темы, как описано здесь: documentation.concrete5.org/developers/designing-for-concrete5/ - person Nour Akalay; 04.01.2017