PHP code example of trk / mystique
1. Go to this page and download the library: Download trk/mystique library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
trk / mystique example snippets
namespace ProcessWire;
/**
* Resource: magic of mystique field
*/
return function ($page = null, $field = null, $value = null) {
$fields = [
'hello' => [
'label' => 'Are you ready for a Magic ?',
'type' => 'select',
'options' => [
'no' => 'No',
'yes' => 'Yes'
],
' }
if ($field instanceof Field) {
$fields['current_field'] = [
'label' => 'Current field label : ' . $field->label,
'value' => $field->label,
'showIf' => [
'hello' => '=yes'
],
'columnWidth' => 50
];
}
return [
'name' => 'magician',
'title' => 'Do A Magic ?',
'fields' => $fields
];
};
namespace ProcessWire;
/**
* Resource : Example dive deeper
*/
return [
'title' => __('Example : Dive'),
'fields' => [
'title' => [
'label' => __('Title'),
'type' => Mystique::TEXT,
'useLanguages' => true
],
'checkbox' => [
'label' => __('Checkbox test'),
'type' => Mystique::CHECKBOX,
'value' => true
],
'headline' => [
'label' => __('Headline'),
'type' => Mystique::TEXT,
'useLanguages' => true,
'defaultValue' => 'headline'
],
'summary' => [
'label' => __('Summary'),
'type' => Mystique::TEXTAREA,
'useLanguages' => true
],
'fieldset' => [
'label' => __('Fieldset'),
'type' => Mystique::FIELDSET,
'children' => [
'fieldset_title' => [
'label' => 'Title',
'type' => Mystique::TEXT
],
'fieldset_description' => [
'label' => 'Fieldset Description',
'type' => Mystique::TEXTAREA
],
'another_fieldset' => [
'type' => Mystique::FIELDSET,
'label' => __('Another Fieldset'),
'showIf' => [
'fieldset_title' => "!=''"
],
'children' => [
'another_fieldset_title' => [
'label' => 'Title',
'type' => Mystique::TEXT
],
'another_fieldset_description' => [
'label' => 'Fieldset Description',
'type' => Mystique::TEXTAREA
]
]
]
]
],
'content' => [
'label' => __('Content'),
'type' => Mystique::TEXTAREA,
'useLanguages' => true
]
]
];
namespace ProcessWire;
/**
* Resource : seo-fields
*/
return [
'name' => 'seo-fields',
'title' => __('Seo fields'),
'fields' => [
'window_title' => [
'label' => __('Window title'),
'type' => Mystique::TEXT, // or InputfieldText
'useLanguages' => true,
'attr' => [
'placeholder' => __('Enter a window title')
]
],
'navigation_title' => [
'label' => __('Navigation title'),
'type' => Mystique::TEXT, // or InputfieldText
'useLanguages' => true,
'showIf' => [
'window_title' => "!=''"
],
'attr' => [
'placeholder' => __('Enter a navigation title')
]
],
'description' => [
'label' => __('Description for search engines'),
'type' => Mystique::TEXTAREA,
'useLanguages' => true
],
'page_tpye' => [
'label' => __('Type'),
'type' => Mystique::SELECT,
'options' => [
'basic' => __('Basic page'),
'gallery' => __('Gallery'),
'blog' => __('Blog')
]
],
'show_on_nav' => [
'label' => __('Display this page on navigation'),
'type' => Mystique::CHECKBOX
]
]
];
$navigationPages = pages()->find('my_mystique_field.show_on_nav=1');
$navigationPages = pages()->find('my_mystique_field.page_tpye=gallery');