Jump to content

Алфавитный порядок товаров в PrestaShop


Recommended Posts

Здравствуйте!Пишу для русскоязычного потока.Нужно сделать модуль для отображения товаров в алфавитном порядке.Предпочтительно бесплатную версию или взять кусок кода от платной версии(для подсказки).
Я нашел одну,но платную.В PrestaShop новичок.
Пример отображения товаров в алфавитном порядке:http://www.papirus.com.ua/
Пример платного модуля: http://addons.prestashop.com/en/search-filters-prestashop-modules/3608-alphabetical-product-search.html
Здесь я нашел как сделать вывод товаров через категории в алф.порядке http://www.prestashop.com/forums/topic/273293-solved-how-to-show-items-in-alphabetical-order/
Помогите!Очень нужно

Вот что я смог взять от демо-сайта с платным модулем.

Cсылка на демо-сайт:http://addons.prestashop.com/demo/FO2279.html

Как его интегрировать в PrestaShop - модуль?

 

Алфавитный блок.HTML-код.

div id="" class="block alphabet_search">
  <h4>Alphabet Search</h4>
<div class="srchbox">
      <table border="0" cellpadding="2" cellspacing="2" width="100%" class="alfasrch">
      <tbody><tr>
        <td><input type="button" value="A" class="alpha_btn" id="1" onclick="getProdList(this.value,this.id)"></td>
        <td><input type="button" value="B" class="alpha_btn" id="1" onclick="getProdList(this.value,this.id)"></td>
        <td><input type="button" value="C" class="alpha_btn" id="1" onclick="getProdList(this.value,this.id)"></td>
        <td><input type="button" value="D" class="alpha_btn" id="1" onclick="getProdList(this.value,this.id)"></td>
        <td><input type="button" value="E" class="alpha_btn" id="1" onclick="getProdList(this.value,this.id)"></td>
        <td><input type="button" value="F" class="alpha_btn" id="1" onclick="getProdList(this.value,this.id)"></td>
        <td><input type="button" value="G" class="alpha_btn" id="1" onclick="getProdList(this.value,this.id)"></td>
        <td><input type="button" value="H" class="alpha_btn" id="1" onclick="getProdList(this.value,this.id)"></td>
        <td><input type="button" value="I" class="alpha_btn" id="1" onclick="getProdList(this.value,this.id)"></td>
      </tr>
      <tr>
        <td><input type="button" value="J" class="alpha_btn" id="1" onclick="getProdList(this.value,this.id)"></td>
        <td><input type="button" value="K" class="alpha_btn" id="1" onclick="getProdList(this.value,this.id)"></td>
        <td><input type="button" value="L" class="alpha_btn" id="1" onclick="getProdList(this.value,this.id)"></td>
        <td><input type="button" value="M" class="alpha_btn" id="1" onclick="getProdList(this.value,this.id)"></td>
        <td><input type="button" value="N" class="alpha_btn" id="1" onclick="getProdList(this.value,this.id)"></td>
        <td><input type="button" value="O" class="alpha_btn" id="1" onclick="getProdList(this.value,this.id)"></td>
        <td><input type="button" value="P" class="alpha_btn" id="1" onclick="getProdList(this.value,this.id)"></td>
        <td><input type="button" value="Q" class="alpha_btn" id="1" onclick="getProdList(this.value,this.id)"></td>
        <td><input type="button" value="R" class="alpha_btn" id="1" onclick="getProdList(this.value,this.id)"></td>
      </tr>
      <tr>
        <td><input type="button" value="S" class="alpha_btn" id="1" onclick="getProdList(this.value,this.id)"></td>
        <td><input type="button" value="T" class="alpha_btn" id="1" onclick="getProdList(this.value,this.id)"></td>
        <td><input type="button" value="U" class="alpha_btn" id="1" onclick="getProdList(this.value,this.id)"></td>
        <td><input type="button" value="V" class="alpha_btn" id="1" onclick="getProdList(this.value,this.id)"></td>
        <td><input type="button" value="W" class="alpha_btn" id="1" onclick="getProdList(this.value,this.id)"></td>
        <td><input type="button" value="X" class="alpha_btn" id="1" onclick="getProdList(this.value,this.id)"></td>
        <td><input type="button" value="Y" class="alpha_btn" id="1" onclick="getProdList(this.value,this.id)"></td>
        <td><input type="button" value="Z" class="alpha_btn" id="1" onclick="getProdList(this.value,this.id)"></td>
        <td><input type="button" value="#" class="alpha_btn" id="1" onclick="getProdList(this.value,this.id)"></td>
      </tr>
      </tbody></table>
    </div>
    <div id="products" class="block_content">No Products</div>
   <div id="imgDiv"><img src="modules/alphabetsearch/images/ajax-loader.gif" alt="Loading"></div>
</div>

AJAX-запрос для вывода товаров.

function getProdList(id,langid) {
  
  var xmlHttp=initXMLHTTPRequest();
  //console.log(xmlHttp);
  var str = "value="+id+"&langid="+langid;
  var span="";
  var url = "modules/alphabetsearch/php/searchDetails.php?";
  document.getElementById('imgDiv').style.display = 'block';
  xmlHttp.onreadystatechange=function() {
  if(xmlHttp.readyState==4 ) {
    document.getElementById('imgDiv').style.display = 'none';
    span=span+"<ul style='padding-bottom:20px;'><li><b>"+id+"</b></li>";
    var xmldata=xmlHttp.responseXML;
    var xmlObj = xmldata.getElementsByTagName("ProductDetails")[0];
    var menusize=xmlObj.childNodes[0].childNodes[0].childNodes[0].nodeValue;
    var xmlObjlength = xmlObj.childNodes.length;
    for(var i=1;i<xmlObjlength;i++) {
      var ProductName=xmlObj.childNodes[i].childNodes[0].childNodes[0].nodeValue;
      var productId=xmlObj.childNodes[i].childNodes[1].childNodes[0].nodeValue;
      span=span+"<li  style='line-height:20px;display:block;height:20px;list-style:none;border-bottom:1px solid #666666;'><a href='product.php?id_product="+productId+"'><div>"+ProductName+"</div></a></li>"
    }
    if(xmlObjlength==1) {
      document.getElementById("products").innerHTML="";
      document.getElementById("products").innerHTML="Sorry No Products Under this Alphabet";
    }
    else {
      document.getElementById("products").innerHTML="";
      span=span+"</ul>";
      document.getElementById("products").innerHTML=span;
    }
  }
  };
  xmlHttp.open("POST",url,true); 
  xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  xmlHttp.setRequestHeader("Content-length", str.length);
  xmlHttp.setRequestHeader("Connection", "close");
  xmlHttp.send(str);
}
 
Edited by alfared (see edit history)
Link to comment
Share on other sites

Зачем изобретать велосипед? в админке же есть опция

Посмотрите пожалуйста пример отображения товаров в алфавитном порядке:http://www.papirus.com.ua/

Мне нужно точно такой же сделать на PrestaShop или как модуль(который есть,но платный) можно взять исходник или как html блок с выводом результата через ajax,то что я написал в первом сообщении.

Мне нужно сделать для этого сайта:bestoffice.com.ua/index.php .Там сейчас вместо алфавитного порядка рисунок.

Нужно чтобы на главной странице был блок или список товаров(не категорий) с алфавитным порядком

Edited by alfared (see edit history)
Link to comment
Share on other sites

Восхитительная наивность! По-Вашему, этот форум — то самое место, где народ естественно сочувствует всякому воровству? И не смотря на то, что многие здесь сами пишут модули на продажу, они вдруг загорятся желанием помочь Вам стибрить у их товарища?

Link to comment
Share on other sites

Скрипт с ajax запросом там явно слишком усложнен, можно написать намного проще его, после нужно в php вставить mysql запрос вытаскивающий товары определенной категории специальным запросом, вот для отдаленного примера:

 

SELECT * FROM `ps_product_lang` WHERE `id_lang` = 6 and `name` LIKE 'W%'

После возвратить результат.

 

Но, если это делать на основе отдельного модуля, тут будет огромный просто гемор если ты используешь модуль blocklayered или какой либо другой модуль фильтра товаров, так как нужно будет налаживать их совместную работу.

 

Такой как на адонсе модуль выводящий все товары категории по указанной букве в специальной колонке, сделать относительно просто можно.

 

Если мне предстояла такая задача сделать клиенту фильтр товаров в списке категорий по алфавиту я бы это сделать при помощи модуля blocklayered, даже знаю как на его основе можно это сделать...в принципе я бы реализовал такое за бабло дня за 2-3.

Edited by Kerm (see edit history)
Link to comment
Share on other sites

Восхитительная наивность! По-Вашему, этот форум — то самое место, где народ естественно сочувствует всякому воровству? И не смотря на то, что многие здесь сами пишут модули на продажу, они вдруг загорятся желанием помочь Вам стибрить у их товарища?

Я прошу помочь.Может кто знает ответ на вопрос.Я ищу подсказку или что-то вроде.Я  не прошу мне дать полностью готовый код от платного модуля.

Link to comment
Share on other sites

Я прошу помочь.Может кто знает ответ на вопрос.Я ищу подсказку или что-то вроде.Я  не прошу мне дать полностью готовый код от платного модуля.

 

А исходники, которыми Вы просите поделиться, — это, всего лишь, «подсказка»! А не готовый модуль?

Link to comment
Share on other sites

А исходники, которыми Вы просите поделиться, — это, всего лишь, «подсказка»! А не готовый модуль?

Если найду - поделюсь.Если у вас уже есть ответ на вопрос,то расскажите или объясните как мне правильно написать модуль.Я прошу помощи,а не объяснений моих вопросов и ваших ответов.

Link to comment
Share on other sites

Дмитрий, про воровство...

 

 

Восхитительная наивность! По-Вашему, этот форум — то самое место, где народ естественно сочувствует всякому воровству?

 

Из вашей темы 

 

 

Любые проблемы с функционалом!

С любыми проблемами по части функционала вам лучше напрямик обращаться к Максиму (он же absent) в его собственную личку. Скайп Максима: d-link570 Его последние работы: http://psstore.org/ Обменник модулями: http://prestashop-pl....org/resources/

Принимаются заявки:

Там  в обменнике модулей не, нету платных модулей с буржуйских веток? Так что одного пользователя способствующего воровству, я знаю на этом форуме  :ph34r:

Link to comment
Share on other sites

Если найду - поделюсь.Если у вас уже есть ответ на вопрос,то расскажите или объясните как мне правильно написать модуль.Я прошу помощи,а не объяснений моих вопросов и ваших ответов.

 

Вам же Керм уже предложил нормальный способ решения? За деньги. Ну, да. Вы ж не просите сделать работу для Вас!.. Всего-то рассказать как... А по мне так сделать всё самому — иной раз менее трудозатратно, чем рассказать другому «как»... Вот, в чём дело-то. У всех дома жена раздетая, дети голодные плачут... Суровая борьба за выживание... И Вы тут со своим «помогите». Помогите, но только так, чтобы у вас убыло, а мне прибыло... А как Вы называете работу на другого без вознаграждения?

Link to comment
Share on other sites

Дмитрий, про воровство...

 

Из вашей темы 

Там  в обменнике модулей не, нету платных модулей с буржуйских веток? Так что одного пользователя способствующего воровству, я знаю на этом форуме  :ph34r:

 

Во-первых, сам я никогда не ворую. Во-вторых, то, что я рекламирую работу хорошего программиста является рекламой программиста. Не более того. Чем он там занимается вне форума, мне дела нет.

Link to comment
Share on other sites

Вам же Керм уже предложил нормальный способ решения? За деньги. Ну, да. Вы ж не просите сделать работу для Вас!.. Всего-то рассказать как... А по мне так сделать всё самому — иной раз менее трудозатратно, чем рассказать другому «как»... Вот, в чём дело-то. У всех дома жена раздетая, дети голодные плачут... Суровая борьба за выживание... И Вы тут со своим «помогите». Помогите, но только так, чтобы у вас убыло, а мне прибыло... А как Вы называете работу на другого без вознаграждения?

Ну если нет бесплатного модуля,а есть платный значит придется его купить за 40 долларов.Так и быть.Но и на ветер такие деньги не хочу кидать.

Link to comment
Share on other sites

Ну если нет бесплатного модуля,а есть платный значит придется его купить за 40 долларов.Так и быть.Но и на ветер такие деньги не хочу кидать.

 

Модуль может и не стоить сорока долларов. Тут надо учитывать ещё и то, что реально иной модуль мог бы стоить 10-20 долларов, но на Аддонсе просто нельзя выставить дешевле, чем за 30 долларов или 30 евро, не помню. Поэтому, если модуль простенький, его бывает выгодней заказать.

Link to comment
Share on other sites

×
×
  • Create New...