# ListView extendability

The `ListViewController` class has been refactored to be more perfomant and easily extendable.

For example, now it's much easier to add new icons into the *Actions* column:

```php
SDK::setClass('ListViewController', 'ListViewControllerCustom', 'modules/SDK/src/CUSTOMER/ListViewControllerCustom.php');
```

And the class:

```php
<?php

require_once('include/ListView/ListViewController.php');

class ListViewControllerCustom extends ListViewController {
	
	/**
	 * Generate an array of strings to be concatenated and set as the "action" column
	 */
	public function generateActions($focus, $recordId, array $sqlrow = [], $navigationInfo = []) : array {
		$actionLinkInfo = parent::generateActions($focus, $recordId, $sqlrow, $navigationInfo);
		
		$module = $focus->modulename;
		if ($module === 'Leads') {
			// add an icon to each lead to open the record in the erp:
			$actionLinkInfo[] = "<a href=\"https://myerp.example.com/lead/$recordId\" target=\"_blank\"><i class=\"vteicon\"'>open_in_browser</i></a>";
		}
		
		return $actionLinkInfo;
	}
	
}

```

Resulting in:

[![image.png](https://usermanual.vtenext.com/uploads/images/gallery/2026-03/scaled-1680-/GMVimage.png)](https://usermanual.vtenext.com/uploads/images/gallery/2026-03/GMVimage.png)