Правда сомневаюсь в том, нужно ли настолько жестко привязываться к апи, или все же сохранять настройки в файл и читать с него, сообщая о различиях.
class JFormFieldServices extends JFormFieldList
{
protected $type = 'services';
protected function getOptions()
{
$db= \Joomla\CMS\Factory::getDbo();
$query = $db->getQuery(true);
$query->select($db->quoteName('params'))
->from($db->quoteName('#__jshopping_shipping_ext_calc'))
->where($db->quoteName('alias') .' = '.$db->quote('sm_courierexe'));
$config = unserialize($db->setQuery($query)->loadResult());
$connection = MeasoftCourier::getInstance();
$services = $connection->servicesList();
$options = array();
if($services){
foreach ($services as $service)
{
$options[] = HTMLHelper::_('select.option', $service->code, $service->name);
}
}
return $options;
}
}