PHP code example of toutouwai / inputfield-select-images
1. Go to this page and download the library: Download toutouwai/inputfield-select-images 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/ */
toutouwai / inputfield-select-images example snippets
$wire->addHookAfter('FieldtypeDynamicOptions::getSelectableOptions', function(HookEvent $event) {
// The page being edited
$page = $event->arguments(0);
// The Dynamic Options field
$field = $event->arguments(1);
// For a field named "select_images"
if($field->name === 'select_images') {
$options = [];
// Get Pageimages within the "images" field on the home page
foreach($event->wire()->pages(1)->images as $image) {
// Add an option for each Pageimage
// When the key is a Pageimage URL the inputfield will automatically create a thumbnail
// In this example the label
$wire->addHookAfter('FieldtypeDynamicOptions::getSelectableOptions', function(HookEvent $event) {
// The page being edited
$page = $event->arguments(0);
// The Dynamic Options field
$field = $event->arguments(1);
// For a field named "select_images"
if($field->name === 'select_images') {
$options = [];
// Get files that are in the /pics/ folder
$root = $event->wire()->config->paths->root;
$path = $root . 'pics/';
$files = $event->wire()->files->find($path);
// Add an option for each file
foreach($files as $file) {
$basename = str_replace($path, '', $file);
$url = str_replace($root, '/', $file);
// The value must be an array with the following structure...
$options[$url] = [
// The label for the image
'label' => $basename,
'attributes' => [
// An image URL in the "data-thumb" attribute
'data-thumb' => $url,
],
];
}
$event->return = $options;
}
});
$wire->addHookAfter('FieldtypeDynamicOptions::getSelectableOptions', function(HookEvent $event) {
// The page being edited
$page = $event->arguments(0);
// The Dynamic Options field
$field = $event->arguments(1);
// For a field named "calm_or_crazy"
if($field->name === 'calm_or_crazy') {
$options = [];
// Add options that are illustrated with thumbnails from placecage.com
$options['calm'] = [
// The label for the option
'label' => 'Nicolas Cage is a calm man',
'attributes' => [
// An image URL in the "data-thumb" attribute
'data-thumb' => 'https://www.placecage.com/260/260',
]
];
$options['crazy'] = [
// The label for the option
'label' => 'Nicolas Cage is a crazy man',
'attributes' => [
// An image URL in the "data-thumb" attribute
'data-thumb' => 'https://www.placecage.com/c/260/260',
]
];
$event->return = $options;
}
});
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.