Jump to content

Settings showIf not showing if


FireWire
 Share

Recommended Posts

I tried to create a showIf with two select fields but couldn't get it to work properly. I copy/pasted the example from the docs directly in case I was missing something but I still can't get it to work.

My attempt:

<?php

$settings->add([
    'name' => 'image_location_horizontal',
    'label' => 'Image Location',
    'value' => $field->input('image_location_horizontal', 'select', [
        '*right' => 'Right',
        'left' => 'Left',
        'center' => 'Center',
    ]),
]);

$settings->add([
    'name' => 'body_location_vertical',
    'label' => 'Body Location',
    'value' => $field->input('body_location_vertical', 'select', [
        '*above_feature' => 'Above Feature',
        'below_feature' => 'Below Feature',
    ]),
    'showIf' => 'image_location_horizontal=center',
]);

Tried searching to see if this has come up for anyone else but didn't see anything.

Link to comment
Share on other sites

Hey @FireWire when working on the new settings syntax & docs I tried this example and it worked as expected: https://www.baumrock.com/en/processwire/modules/rockpagebuilder/docs/settings/#conditionals-showif

Is this still an issue for you?

I just checked with your example and everything works as expected there as well!


  /**
   * (Optional) Settings of this block
   *
   * You can access settings of the block via $block->settings() or access
   * a single setting via $block->settings('foo') or $block->settings('bar')
   *
   * If you don't want any settings for your block you can remove this method.
   */
  public function settingsTable(\ProcessWire\RockFieldsField $field)
  {
    $settings = $this->getSettings();

    $settings->add([
      'name' => 'image_location_horizontal',
      'label' => 'Image Location',
      'value' => $field->input('image_location_horizontal', 'select', [
        '*right' => 'Right',
        'left' => 'Left',
        'center' => 'Center',
      ]),
    ]);

    $settings->add([
      'name' => 'body_location_vertical',
      'label' => 'Body Location',
      'value' => $field->input('body_location_vertical', 'select', [
        '*above_feature' => 'Above Feature',
        'below_feature' => 'Below Feature',
      ]),
      'showIf' => 'image_location_horizontal=center',
    ]);

    return $settings;
  }

 

Link to comment
Share on other sites

Copied and pasted, still not working for me. Not sure what it is but if it's working for you it has to be some sort of conflict on my end. When I have time I'll do some digging and come back with anything I find. Thanks for checking it out!

Link to comment
Share on other sites

I can confirm that this example code from the docs is working for me:

$settings->add([
	'name' => 'showImages',
	'label' => 'Show Items with Images',
	'value' => $field->input('showImages', 'checkbox'),
]);

$settings->add([
	'name' => 'noBackground',
	'label' => 'Do not add blurred background behind images',
	'value' => $field->input('noBackground', 'checkbox'),
	'showIf' => 'showImages=1',
]);

 

@FireWire your code example is working too in my case:

$settings->add([
  'name' => 'image_location_horizontal',
  'label' => 'Image Location',
  'value' => $field->input('image_location_horizontal', 'select', [
    '*right' => 'Right',
    'left' => 'Left',
    'center' => 'Center',
    ]),
]);

$settings->add([
  'name' => 'body_location_vertical',
  'label' => 'Body Location',
  'value' => $field->input('body_location_vertical', 'select', [
    '*above_feature' => 'Above Feature',
    'below_feature' => 'Below Feature',
    ]),
  'showIf' => 'image_location_horizontal=center',
]);



image.png.5c1c79191d249651f8f2d6cbeb225471.png

  • Thanks 2
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...