vendor/dieschittigs/contao-classes-bundle/src/Resources/contao/classes/HelperClass.php line 10

Open in your IDE?
  1. <?php
  2. namespace DieSchittigs\ContaoClassesBundle;
  3. use DieSchittigs\ContaoClassesBundle\ClassesModel;
  4. use Contao\Frontend;
  5. class HelperClass extends Frontend
  6. {
  7. public function addClassesToPage($objPage, $objLayout, $objPageRegular)
  8. {
  9. if (!is_array($arrCustom = unserialize($objPage->customClass))) return;
  10. foreach ($arrCustom as $classID) {
  11. $objClass = ClassesModel::findBy(['id=?', 'showOnPage=?'], [$classID, 1]);
  12. $objPage->cssClass .= ' ' . $objClass->cssClass;
  13. }
  14. $objPage->cssClass = trim($objPage->cssClass);
  15. }
  16. public function addClassesToArticle($objRow)
  17. {
  18. $arrCss = unserialize($objRow->cssID);
  19. if (!is_array($arrCustom = unserialize($objRow->customClass))) return;
  20. foreach ($arrCustom as $classID) {
  21. $objClass = ClassesModel::findBy(['id=?', 'showOnArticle=?'], [$classID, 1]);
  22. $arrCss[1] .= ' ' . $objClass->cssClass;
  23. }
  24. //$arrCss[1] .= ' ' . implode(' ', $arrCustom);
  25. $objRow->cssID = serialize([$arrCss[0], trim($arrCss[1])]);
  26. }
  27. public function addClassesToElement($objRow, $strBuffer, $objElement)
  28. {
  29. if (!is_array($arrCustom = unserialize($objElement->customClass))) return $strBuffer;
  30. $arrCss = [];
  31. foreach ($arrCustom as $classID) {
  32. $objClass = ClassesModel::findBy(['id=?', 'showOnElement=?'], [$classID, 1]);
  33. $arrCss[] = ' ' . $objClass->cssClass;
  34. }
  35. // replace string buffer
  36. $strBuffer = str_replace('class="ce_' . $objElement->type, 'class="ce_' . $objElement->type . ' ' . implode(' ', $arrCss) . ' ', $strBuffer);
  37. // replace in row
  38. $objRow->cssID = serialize([unserialize($objRow->cssID)[0], unserialize($objRow->cssID)[0] . ' ' . implode(' ', $arrCss)]);
  39. return $strBuffer;
  40. }
  41. }