Jump to content

après MAJ mon module categorie ne marche plus.


Recommended Posts

apres la MAJ de 1.3.1
mon module catégorie modifié marche plus ...
voici le codage de blockcategories.tpl:

[removed][removed]
<!-- Block categories module -->

{l s='Categories' mod='blockcategories'}





{l s='recherche rapide' mod='blockCategTree'}
   {foreach from=$blockCategTree.children item=child name=blockCategTree}$link->getCategoryLink($category->id, $category->link_rewrite
{$child.name}
   {/foreach}











 {foreach from=$blockCategTree.children item=child name=blockCategTree}
  {if $smarty.foreach.blockCategTree.last}
     {include file=$branche_tpl_path node=$child last='true'}
  {else}
     {include file=$branche_tpl_path node=$child}
  {/if}
 {/foreach}



[removed]
// <![CDATA[
// we hide the tree only if JavaScript is activated
$('div#categories_block_left ul.dhtml').hide();
// ]]>
[removed]
<!-- /Block categories module -->



nouvelle ajout dans le tool.js:

function linkTo(optVal){
if(optVal=="") return false;
[removed]='http://127.0.0.1/category.php?id_category='+optVal;
}
function getXMLHttpRequest() {
   var xhr = null;

   if (window.XMLHttpRequest || window.ActiveXObject) {
    if (window.ActiveXObject) {
     try {
      xhr = new ActiveXObject("Msxml2.XMLHTTP");
     } catch(e) {
      xhr = new ActiveXObject("Microsoft.XMLHTTP");
     }
    } else {
     xhr = new XMLHttpRequest();
    }
   } else {
    alert("Votre navigateur ne supporte pas l'objet XMLHTTPRequest...");
    return null;
   }

   return xhr;
  }
function request(oSelect, select_name) {
//Une seule requête à la fois !

//En considérant l'exemple précédent, que ce passe-t-il si l'utilisateur clique plusieurs fois sur le bouton d'envoi ? Et bien la réponse est simple, la requête est envoyée plusieurs fois. Ce qu'il faudrait c'est trouver une astuce pour annuler la requête en cours si une nouvelle est envoyée.
//Pour ce fait, il va falloir stocker l'objet XMLHttPrequest dans un objet global, xhr, et il n'y aura qu'à tester l'état de cet objet avant d'envoyer une nouvelle requête. Si l'état est différent de 0 (la requête est en cours), il suffit de l'annuler pour envoyer la nouvelle. On peut aussi décider de ne pas envoyer la nouvelle, au choix ?a.
   var value = oSelect.options[oSelect.selectedIndex].value;
   var xhr = getXMLHttpRequest(); // Voyez la fonction getXMLHttpRequest() définie dans la partie précédente
   if (xhr && xhr.readyState != 0) {
     xhr.abort(); // On annule la requête en cours !
    }
    xhr.onreadystatechange = function() {
     if (xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 0)) {
      readData(xhr.responseXML, select_name);
      document.getElementById("loader").style.display = "none";
     } else if (xhr.readyState < 4) {
      document.getElementById("loader").style.display = "inline";
     }
    };


   xhr.open("POST", "XMLHttpRequest_getListData.php", true);
   xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
   xhr.send("IdEditor=" + value);
}
function readData(oData, select_name) {
var nodes   = oData.getElementsByTagName("item");
var oSelect;
var oOption, oInner;
if(select_name=="softwaresSelect"){oSelect = document.getElementById("softwaresSelect");
oSelect[removed] = "";
 for (var i=0, c=nodes.length; i   oOption = document.createElement("option");
  oInner  = document.createTextNode(nodes[i].getAttribute("name"));
  oOption.value = nodes[i].getAttribute("id");

  oOption.appendChild(oInner);
  oSelect.appendChild(oOption);
 }
}
else if(select_name=="prodSelect"){oSelect = document.getElementById("prodSelect");
oSelect[removed] = "";
 for (var i=0, c=nodes.length; i  oOption = document.createElement("option");
 oInner  = document.createTextNode(nodes[i].getAttribute("name"));
 oOption.value = nodes[i].getAttribute("id");

 oOption.appendChild(oInner);
 oSelect.appendChild(oOption);
 }
}
} 



et nouveau doc php dans la racine XMLHttpRequest_getListData.php

<?php
include(dirname(__FILE__).'/config/config.inc.php');
header("Content-Type: text/xml");
echo "<?xml version=\"1.0\" encoding=\"utf-8\"?>";
echo "";

$idEditor = (isset($_POST["IdEditor"])) ? htmlentities($_POST["IdEditor"]) : NULL;

if ($idEditor) {
$categories = array();
$categories = Category::getChildren($idEditor,'1',true);

foreach ($categories AS $row){
echo "";
}
}

echo "";

?>

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...