Articles avec le tag ‘oscss2’

Forcer le chargement d’un fichier de langue

lundi 30 juillet 2012

Dans certain cas, il peut être nécessaire de forcer le chargement d’un fichier de langue spécifique;

par exemple, dans un triggers spécifique à un sous module donné, le fichier de langue peut ,ne pas être chargés.
Dans cette hypothèse, le recours existe.. via l’utilisation du constructeur de page.

/// Forcer appel fichier de langue
global $page;
$page->pile_file_lang(DIR_WS_LANGUAGES.$page->page[‘language’].’/modules/account/ac_annonce/ac_annonce.txt’);

template Backoffice , convention ecriture , utilisation constructeur

mercredi 13 avril 2011

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'] . '&amp;action=view') ,'' ).
              sprintf(CsrtAction::getLink('row_action_right', IMAGE_DELETE, 'delete'), '',  tep_href_link(adminNotif::FILENAME,  'nID=' . $notif['notif_id'] . '&amp;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'] . '&amp;action=view') ,'' )
              )
          );

Blogué avec le Navigateur Flock

driver.product la class de gestion des produit du front

mercredi 27 octobre 2010

et voila, afin de rendre plus souple le fonctionnement sans avoir à intervenir sur le core, 2 nouvelles methodes sont apparu dans le driver.

Ces 2 methodes sont static et appelé directement a tarvers la class product.

Soit :

product::get_adjust_price()

et

product::get_option_data()

La methode get_adjust_price est utilisé dans le panier, pour prendre en charge la modification des prix d’un produit par les module de type Aca (type product)
il est absoluement necessaire de definir une var nommé price pour que cette methode soit active
ex:

//! flag price
$this->price = true;

Elle prend en arguement un tableau qui lui fournis le pris de base, l’id produit et la quantité

La methode get_option_data n’ a vocation à étre appelé , elle est gerer directement dans la function stament_query, qui permet la mise en forme de l’object produit retourné.

Les module utilisant cette methode permettent donc de recuperer dans l’object premier leur propre element.

Apercu de la definition d’un module ACA utilisant ces methodes

/**
Add data in driver.product
*/
public function get_option_data($product_array){
$product_array[‘price_break’]=$this->load_db_values($product_array[‘products_id’]);
return $product_array;
}

/**
fonction ajustement price en fonction quantité
*/
public function adjust_price($product_array){
$pid = tep_get_prid($product_array[‘products_id’]);
$res=product::get_item($pid);

if(count($res->price_break)>0){
foreach($res->price_break as $qt=>$pr)
if($product_array[‘products_quantity’]>=$qt)$result=$pr;
}

return (isset($result)?$result : $product_array[‘products_price’]);
}

osCSS 2 , popup via fancy, et bouton cancel/return

mercredi 18 août 2010

Afin de simplifier les appels à la fermeture de la fancy, lors de l’affichage d’action, un fonction présente dans html_output à été ajouté. Elle ce charge de détecter les variable get, et ainsi d’adapter le code du bouton, anulation/retour. (suite…)

Gestion et configuration des taxes / zones et des tarif affiché dans la boutique

samedi 26 juin 2010

La gestion des taxes et zone n’as que peu evolué dans sont mode de fonctionnement.

Toutefois, l’ensemble de cetet gestion est centralisé dans une seul et même class , qui est utilisé par le Front comme le back: la class price.

Prix affiché en boutique

Les prix affiché sur le front corresponde à l’application de  la taxe de la zone à laquel appartient la boutique. Donc le reglage du « pays de résidence de la boutique »  determine qu’elle sera la taxe appliqué par defaut sur les prix.

Ex:
La boutique est en france, la taxe de base est la tva à 19.6.
Le reglage de la localité de la boutique est france.

– Un visiteur verra donc les prix , majoré avec leur taxe de 19.6.
– Un visiteur identifé, qui à comme adresse principal la france, verra lui aussi les prix majoré de 19.6.
– Un visiteur identifé au USA, verra lui des prix, sans la majoration de tva.

extension gab, fichier html de mise en forme des modules du backoffice

mercredi 23 juin 2010

La version osCSS 2.0.9n apporte encore sont lot d’évolution, en ajoutant une extension de fichier, le .gab (suite…)

chargeur de class __autoload

jeudi 10 juin 2010

Une fonction autoload vient d’être ajouter à osCSS 2, sur le moteur prive.

Cette fonction autorise une instanciation de class sans le require préalable pour la charger.

(suite…)

Gestionnaire d’erreur osC_ErrorHandler

jeudi 10 juin 2010

Un gestionnaire d’erreur à été ajouter de maniéres à bloquer les erreur php et en améliorer le traitement.

(suite…)

plugins, widget ou modules ?

jeudi 10 juin 2010

A quel moment et dans quel contexte chercher un module, un plugin et/ou un widget , coté boutique comme privé. (suite…)

osCSS 2 langue, fichier de langue et ordonnancement

vendredi 4 juin 2010

La  structure de gestion multilangue d’oscss a beaucoup evolué sur cette version, afin d’eviter des erreur php, et rendre plus souple et coherante la gestion des langue, associé au contenu et éléments modulaires.

(suite…)