osCSS intègres dans le Backoffice, des méthode pour ajouter des liens et boutons dans les gabarit html.
Cette centralisation garantie une cohérence du code, ainsi qu’une centralisation des image et icône de boutons.
Ces méthodes sont defini dans la class CsrtAction (fichier oscss_cstr.php) des class du backoffice.
Toutes ces methode utilise le fichier de set d’icone , et structure html des boutons et leur encadrement , contenu dans le fichier xml du template en cours.
si aucun fichier n’est present dans votre template, ou que vous developper vous même votre template, le theme par defaut sera utilisé.
Les 4 methodes courament utilisé sont:
- getLink
- getButton
- getSubmit
- getImage
Ces methodes utilisent les même arguement, et srucpulesement la même nomenclature; a savoir :
getLink($code,$txt,$codeImg='')
Elle sont toutes static , aussi leurs appel a lieux sous cette forme :
CsrtAction::getLink($code,$txt,$codeImg='')
Ex:
CsrtAction::getLink('row_action_right', IMAGE_VIEW, 'view')
Dans tous les cas, elle renvoi une chaine s’utilisant avec un sprintf /printf; Il est donc necessaire de mettre en place des arguement complementaire
Ex:
sprintf(CsrtAction::getLink('row_action_right', IMAGE_VIEW, 'view'), 'fancyView', tep_href_link(adminNotif::FILENAME, 'nID=' . $notif['notif_id'] . '&action=view') ,'' )
Ou
sprintf(CsrtAction::getLink('row_action_right', IMAGE_ICON_INFO, 'info'), 'fancyView', tep_href_link(adminNotif::FILENAME, 'nID=' . $notif['notif_id'] . '&action=view') ,'' )
La seul methode qui ne necessite pas d’arguement supplementaire est la methode getImage, qui ce suffit à elle même
CsrtAction::getImage('row_action_right', IMAGE_ICON_INFO, 'arrow_right')
En general, ces fonctions sont utilisé dans les page de gabarit html, ou les directement dans les class de module .
Lorsque elles sont utilisées dans les colonnes action des tableaux, une methode complementaire de la même class vient completer l’appel
getFormat('row_action');
Sous cette forme
CsrtAction::getFormat('row_action')
Et comme les autres methode, elle renvoi une chaine destiné a printf
Soit
printf(
CsrtAction::getFormat('row_action'),
((isset($notif['customers_id']) && !empty($notif['customers_id']) )
?tep_customers_row_action($notif['customers_id'], array('origin'=>adminNotif::FILENAME))
: (!empty($notif['user_email'])? ' <a href="mailto:'.$notif['user_email'].'" >'.$notif['user'].'</a>' : '')
),
sprintf(CsrtAction::getLink('row_action_right', IMAGE_VIEW, 'view'), 'fancyView', tep_href_link(adminNotif::FILENAME, 'nID=' . $notif['notif_id'] . '&action=view') ,'' ).
sprintf(CsrtAction::getLink('row_action_right', IMAGE_DELETE, 'delete'), '', tep_href_link(adminNotif::FILENAME, 'nID=' . $notif['notif_id'] . '&action=delete') ,'' ) .
((isset($_GET['nID']) && $notif['notif_id'] == $_GET['nID'])
? CsrtAction::getImage('row_action_right', IMAGE_ICON_INFO, 'arrow_right')
: sprintf(CsrtAction::getLink('row_action_right', IMAGE_ICON_INFO, 'info'), 'fancyView', tep_href_link(adminNotif::FILENAME, 'nID=' . $notif['notif_id'] . '&action=view') ,'' )
)
);