web-dev-qa-db-fra.com

Comment désactiver le plugin FullAjax pour toutes les pages sauf une

J'ai installé le plugin FullAjax et je dois le désactiver pour toutes les pages, à l'exception de la page avec certains paramètres, comme par exemple:

if (strpos($_SERVER['REQUEST_URI'],'view=orders&layout=details') !== false) {
// enable plugin for this page
} else {
// disable plugin for all other pages
}

Les options Ignorer les éléments de men et Ne pas utiliser FullAjax sur dans les configurations de plug-in ne sont pas compatibles, car de nombreuses pages ne contiennent pas d’éléments de menu, mais j’ai besoin de désactiver le plug-in. aussi

2
stckvrw

Les pages pour lesquelles je dois désactiver le plug-in sont des pages de VM commandes générées chaque fois qu'un client passe une commande, il est donc impossible de créer des éléments de menu pour ces pages. temps j'ai déjà trouvé la solution suivante:

pour ouvrir plugins/system/addfullajax/addfullajax.php, recherchez la condition qui commence à la ligne 90:

if(get_class($doc) != 'JDocumentHTML'

et commenter cette condition, y compris la ligne:

} elseif($this->nedAjaxRespons) {

et ci-dessous pour écrire notre nouvelle condition:

if($app->input->get('option') == 'com_virtuemart' && $app->input->get('view') == 'orders') {

et commenter la ligne 155:

//$this->axJsAllowed = true;

et copier-coller cette ligne avant la fin de notre condition

2
stckvrw

Créez ensuite un faux élément de menu pour la page en question et consultez-le dans le plug-in de configuration. Je crée toujours un faux menu appelé "Menu virtuel" pour des éléments de menu similaires qui ne doivent pas être affichés dans les menus du front-end, mais qui aident dans de nombreux cas.

0
Mikan