?
avatar pmleconte
pmleconte
29 Nov 2018

Steps to reproduce the issue

Activate "Content - confirm Consent"
Define Beez3 as default template
In your contact form, click on "privacy note" link

Expected result

display "privacy" article in a modal window

Actual result

Nothing happens

System information (as much as possible)

Joomla 3.9.1, php 7..2

Additional comments

Everthing is OK with Protostar template, but it does not show anything with Beez3 template.
I also tried with some other third parties templates (Joomspirit for example) and I had the same problem

avatar pmleconte pmleconte - open - 29 Nov 2018
avatar joomla-cms-bot joomla-cms-bot - change - 29 Nov 2018
Labels Added: ?
avatar joomla-cms-bot joomla-cms-bot - labeled - 29 Nov 2018
avatar ReLater
ReLater - comment - 29 Nov 2018

Confirmed. Reported several times for several templates, e.g. ReDim rebase template.

Whenever a template uses an override for default_form.php that doesn't use
echo $field->renderField();
for rendering the field but
echo $field->input;
the BS modal is not built.

Because this field method is not called during rendering: https://github.com/joomla/joomla-cms/blob/3.9.1/plugins/content/confirmconsent/fields/consentbox.php#L172-L187

avatar mbabker
mbabker - comment - 29 Nov 2018

And what are we supposed to do at the core level, not use our own API because other entities don't follow it?

avatar SharkyKZ
SharkyKZ - comment - 30 Nov 2018

I totally overlooked this, sorry. While fields should be rendered using renderField() going forward, we probably have to account for outdated overrides (Beez3 included).

On the same topic, overrides still using label/input directly do not support showon because it's also inside renderField().

avatar SharkyKZ
SharkyKZ - comment - 30 Nov 2018

Test PR #23205 please.

avatar pmleconte
pmleconte - comment - 30 Nov 2018

I think we also have a problem because it's based on Bootstrap 2.3. (see https://www.bootply.com/bootstrap-3-migration-guide).

bootstrap.renderModal adds .hide class to modal-jform_consentbox, so it will never show if your template uses bootstrap 3 or 4.

avatar pmleconte
pmleconte - comment - 30 Nov 2018

consent

avatar mbabker
mbabker - comment - 30 Nov 2018

If you are using a Bootstrap 3 or 4 template you probably should be registering custom callbacks for the various Bootstrap JHtml helpers to have things be correct for those versions. Remember that core is based on Bootstrap 2.3.

avatar twister65
twister65 - comment - 30 Nov 2018

This issue only occurs with Joomla v3.9.1.
It works perfectly well with Joomla v3.9.0.
It is a regression problem.

avatar mbabker mbabker - change - 30 Nov 2018
Status New Closed
Closed_Date 0000-00-00 00:00:00 2018-11-30 20:46:11
Closed_By mbabker
avatar mbabker
mbabker - comment - 30 Nov 2018

The implementation in 3.9.0 was wrong-ish as it was using the (deprecated) MooTools oriented modal. 3.9.1 changed to use the Bootstrap modal and operated under the assumption that the API was actually being used correctly to render form fields (? ?).

#23205 addresses this issue to the extent possible within core. Any alternative framework related issues are going to have to be addressed at the template level, Joomla is not assembling modals that are compatible with every possible CSS framework out there.

Closing, the pull request should be tested.

avatar mbabker mbabker - close - 30 Nov 2018
avatar richirasega
richirasega - comment - 24 Aug 2023

Hello,
I'm new here, found this issue in an old template, somebody could point me where to know how to fix it ?

Add a Comment

Login with GitHub to post a comment