xanweb / c5-helpers
ConcreteCMS Helpers Suite
v2.1
2021-11-23 10:37 UTC
Requires
- php: >=7.4
- xanweb/c5-common: ^1.2
This package is auto-updated.
Last update: 2024-10-23 16:50:04 UTC
README
Collection of useful helpers for ConcreteCMS
in_array_all
Verify that all needles are in haystack array.in_array_any
Verify that at least one of needles is in haystack array.strip_spaces
Remove all spaces from the given string.current_locale
Get Current Page Locale.current_language
Get Current Page Language.active_locale
An Alias of \Localization::activeLocale().active_language
An Alias of \Localization::activeLanguage().theme_path
Get Site Theme Pathc5_date_format
An Alias of \Concrete\Core\Localization\Service\Date::formatDate().c5_date_format_custom
An Alias of \Concrete\Core\Localization\Service\Date::formatCustom().Xanweb\Helper\Page::getBlock
andXanweb\Helper\Page::getBlocks
for fetching block(s) from page
Installation
Include library to your composer.json
composer require xanweb/c5-helpers
Usage of Xanweb\Helper\Page
use Xanweb\Helper\Page as PageHelper; $ph = new PageHelper( $page, // Page Object ['Header', 'Footer'], // Optional argument to exclude some areas from fetching ['Main'] // Optional argument to include some areas in fetching ); // Get the first valid instance of required block $contentBlockController = $ph->getBlock( 'content', // Block Type Handle function (BlockController $bController) { // Optional callable to test for valid block return !empty($bController->getContent()); } ); // Get the first valid instances of required blocks $blocksControllers = $ph->getBlocks( ['image', 'content'], // Block Types Handle function (BlockController $bController) { // Optional callable to test for valid block if ($bController instanceof \Concrete\Block\Image\Controller) { return is_object($this->getFileObject()); } if ($bController instanceof \Concrete\Block\Content\Controller) { return !empty($bController->getContent()); } return false; } ); /** * - $blocksControllers array is indexed by btHandle: ['image' => $bController, 'content' => $bController] * - If no block is found $blocksControllers will be an empty array */