Include raw HTML in gridfield

If you need to show data within a gridfield including raw HTML...

<?php

class ObjectA extends DataObject {

	static $db = array(
		"Name"			=> "Varchar",
	);

	static $has_many = array(
		"ObjectBs"		=> "ObjectB",
	);

	function getCMSFields(){
		$fields = parent::getCMSFields();

		if ($grid = $fields->dataFieldByName('ObjectBs')) {
			$dataColumns = $grid->getConfig()->getComponentByType('GridFieldDataColumns');
			$dataColumns->setFieldCasting(array('Name' => 'HTMLText->RAW'));
		}

		return $fields;
	}
}


class ObjectB extends DataObject {

	static $db = array(
		"Name"			=> "HTMLText",
	);

	static $has_one = array(
		"ObjectAs"		=> "ObjectA",
	);
}
Rate this post