Jump to content

[RESOLU] Ou modifier product-sort.php pour prestshop 1.4


Recommended Posts

Bonjour,
Tout est dans la question
Je voudrais modifier les paramètres de product-sort.php dans prestashop v1.4 mais je n'ai pas l'impression que cela soit possible.
Ou peut on le faire ?

Ça serait pour refaire cette modification alors faite sur prestashop 1.3 :

http://www.prestashop.com/forums/viewthread/86009/

Classez les produits par rapport à vos références personnelles

Je suis parti de ce post :
http://www.prestashop.com/forums/viewthread/50595/hlavn_diskuze/azen_produkt_v_productlistu_podle_reference

Dans admin/tabs/AdminPPreferences.php
Trouvez :

array('id' => '3', 'name' => $this->l('Product modified date')),



Ajoutez :

array('id' => '7', 'name' => $this->l('reference'))



Dans themes/votre theme/product-sort.tpl
Trouvez :

{l s='in-stock first'}



Ajoutez :

{l s='reference'}



Dans product-sort.php
Trouvez ligne 8 :

$orderByValues = array(0 => 'name', 1 => 'price', 2 => 'date_add', 3 => 'date_upd', 4 => 'position', 5 => 'manufacturer_name', 6 => 'quantity');
if (!in_array($orderBy, $orderByValues))
   $orderBy = $orderByValues[0];
if (!in_array($orderWay, $orderWayValues))
   $orderWay = $orderWayValues[0];



Remplacez par :

$orderByValues = array(0 => 'name', 1 => 'price', 2 => 'date_add', 3 => 'date_upd', 4 => 'position', 5 => 'manufacturer_name', 6 => 'quantity', 7 => 'reference');
if (!in_array($orderBy, $orderByValues))
   $orderBy = $orderByValues[7];
if (!in_array($orderWay, $orderWayValues))
   $orderWay = $orderWayValues[7];



Puis vous avez juste à faire les modifications dans le back office dans préférences / produits
Choisir tri par défaut : reference

Fonctionne avec prestashop v1.3.3

Merci de vos réponse

Sujet déplacé -yoya971

Link to comment
Share on other sites

  • 3 weeks later...
Merci pour la réponse cela fonctionne très bien en modifiant le code


Oui je n'en doute pas :lol:

Seulement c'est pas super propre... En cherchant rien que sur cette page tu trouveras comment faire une surcharge de classe sans modifier le code source. C'est juste 2 minutes de travail en plus .
Link to comment
Share on other sites

Salut et encore merci,

C'est la différence entre VIP et beginner pour moi le php c'est un peu comme du mandarin rien que pour faire ça au dessus il m'a fallu plusieurs jours et je pense que pour quelqu'un d'averti une petite heure devrait suffire mais bon.

Tout ça pour te dire que je ne vois même pas ce que veux dire surcharge de classe sans modifier le code..

Link to comment
Share on other sites

Salut et encore merci,

C'est la différence entre VIP et beginner pour moi le php c'est un peu comme du mandarin rien que pour faire ça au dessus il m'a fallu plusieurs jours et je pense que pour quelqu'un d'averti une petite heure devrait suffire mais bon.

Tout ça pour te dire que je ne vois même pas ce que veux dire surcharge de classe sans modifier le code..


Nous avons tous débuté ....
Je fais référence à des choses qui commencent à être détaillées sur ce sous forum.
Pour info la surcharge (override en anglais) , est une méthode connue en développement, pour ce qui est du terme générique.

En ce qui concerne prestashop, et en termes simplifiés, depuis la 1.4 , il est possible d'effectuer des modifications à l'extérieur des fichiers d'origine, afin de ne rien perdre lors d'une mise à jour. Mises à jours qui donc restent possibles, contrairement à une modifications du source.

Concrètement , il suffit de placer un fichier bien nommé, construit sur un modèle simple dans le dossier /overrides , contenant les modifications que tu as faites, seulement sur les' fonctions' ou 'champs' concernés. (On dit méthode et propriété).

Si tu postes ton fichier modifié en m'indiquant les lignes corrigées (je pourrais facilement les isoler mais bon autant gagner du temps), alors je te ferais le fichier de surcharge à déposer dans /overrides/classes et tu pourras restaure le fichier original.
Tu garderas la possibilité de faire les maj et le bénéfice de tes modifs.

Ca te fera une base de référence à étudier si tu voulais modifier d'autres choses dans presta ;)

PS : les * au dessus du pseudo et le statut associé (beginner, senior member, vip ... ) sont calculés automatiquement en fonction du nombre de posts. Il existe donc des 5* Partner qui ne savent pas écrire une ligne de code (chacun son métier), mais ont participé activement à ce forum et depuis longtemps....
Link to comment
Share on other sites

Salut et merci pour ton aide c'est sure que pour les maj ce sera moins compliqué à remettre en place à chaque fois.
Voici les fichiers modifiés ref.zip et l'emplacement des modifs.

Dans admin/tabs/AdminPPreferences.php ligne 59

Dans themes/votre theme/product-sort.tpl ligne 50

dans /classes/FrontController.php ligne 492, 497, 499

ref.zip

Link to comment
Share on other sites

Ok,
Pas d'override pour l'admin en revanche ... et concernant le tpl ce n'est que du template.

Voici donc juste l'override de la classe FrontController ,
il te suffit de la placer dans /override/classes
Tu peux alors rétablir FrontController.php d'origine dans /classes

Et les mises à jour n'affecteront pas tes modifs. Il faudra juste prêter attention à la partie admin , qui doit malheureusement rester modifiée en dur ( il est possible de faire autrement en ajoutant un onglet mais ça je vais pas rentrer dans les détails ... )

FrontController.php

Link to comment
Share on other sites

Bon,
Je viens de regarder dans le fichier override/classes/FrontController.php et il existe déjà j'imagine qu'il suffit d'ajouter la parti code de ton fichier à celui-ci et tout devrait fonctionner je te tiens au courant
MERCI encore et bonne continuation

Link to comment
Share on other sites

Exacte je l'ai vu après le underscore je n'y ai donc pas prêté attention et ajouté ton fichier.
J'ai l'impression que ça marche il faut juste que je vérifie sur mon site

Sinon j'ai vu sur ton site que tu développais des sites ou modules
Que fais tu exactement on sait jamais je pourrais avoir besoin d'aide à développer certaine partie ou je serais incapable de faire

Link to comment
Share on other sites

Exacte je l'ai vu après le underscore je n'y ai donc pas prêté attention et ajouté ton fichier.
J'ai l'impression que ça marche il faut juste que je vérifie sur mon site

Il me semblait bien ;)

Sinon j'ai vu sur ton site que tu développais des sites ou modules
Que fais tu exactement on sait jamais je pourrais avoir besoin d'aide à développer certaine partie ou je serais incapable de faire


Ce que je fais exactement... hmmm .. c'est restrictif :lol: ...!
Je plaisante , mais en gros tout ce qu'on me demande : modules ou fonctionnalités sur mesure, suivi , débug, intégration, etc... tant que ça touche à prestashop, car je ne me disperse plus sur d'autres projets.
Je m'étends pas plus sur le sujet car ce n'est pas l'endroit...
Link to comment
Share on other sites

  • 5 months later...

Bonjour

Exactement ce que je cherchais ca m'a permis d'avancé mais il me reste un soucis.

Je sais pas si celà peut provenir de là , j'ai la version presta 1.4.4.1 et le fichier n'est plus le même.

 

Mon problème.

Dans l'admin si je sélectionne " Tri par défaut : préférence" il n'est pas trié dans le front office sur référence.

 

Sur le front office si je sélectionne dans la liste démoulante référence là il est trié correctement

 

Une idée ?

Merci

Link to comment
Share on other sites

Slt,

Je viens de mettre 1 heure à tout relire pour me remettre dans le sujet

pour la 1.4.4.1 j'ai fait ça il y a 5 minutes et ça fonctionne :

Trouve dans admin/tabs/AdminPPreferences.php

array('id' => '5', 'name' => $this->l('Manufacturer')),

ajoute

array('id' => '6', 'name' => $this->l('Reference')),

 

puis charge le fichier ci dessous dans override/classes/

FrontController.php

Link to comment
Share on other sites

Merci pour cette réponse rapide et qui m'a permis de trouvé.

J'ai commencé à faire comme tu as dit mais j avais un souci sur la liste de produit si le client sélectionne "par quantité" , la liste déroulante disparaissait.

 

J'ai donc cherché avec mes faibles connaissance en programmation :( et j 'ai trouvé.

 

J'ajoute ton fichier FrontController que j'ai modifié ligne 36

Je modifie le fichier product-sort ligne 63 et 64

 

C'est le résultat que je voulais dans l'admin je laisse le tri sur "nom du produit"

Résultat côté client :

Les produit sont trié sur la Référence et si on utilise le tri de AàZ ou de ZàA c'est trié sur la référence aussi :rolleyes:

 

Merci pour ton aide

Presta.zip

Link to comment
Share on other sites

  • 1 month later...

oui je sais sboule mais j'ai utilisé le même principe pour ajouter le tri par quantité pour mais produits avec déclinaisons j'ai mis un fond différent pour mieux différencier les produits épuisés.

Mais le bizarre c'est que quand je fait le tri selon quantité de cette manière

http://localhost/prestashopv4/category.php?id_category=17&orderby=quantity&orderway=desc

il y'a des produits qui s'affichent en mention stock épuisé or il en reste du stock dans une une des déclinaisons mais pas dans celle par défaut ( c a d selon ce que j'ai sur cette version chaque produit dont la déclinaisons par défaut est a stock=0 elle est considérée comme épuisés en FO :huh: :huh: :huh: )

j'ai chercher partout en FO pour voir s'il y a un paramètre qui cause cette erreur mais rien.

sachant que ma version était 1.2.5 et je l'ai mis à jour a la version 1.4.5.1 (aussi la BDD)

quelqu'un a une idée? :rolleyes:

Link to comment
Share on other sites

  • 1 year later...

後日 勃然 遊牧 球状 心霊写真 遅延 離弁花 白飯 多面的 真似事 大破 見いだす 先見の明 幾らでも 中将 真摯 古典的 特殊鋼 同盟 誰だって 食らう 寄生 快速電車 同業組合 晴れて 逆なで 月明 申し子 一塁手 左ハンドル 香料 憂える 四半期 テレビ番組 路線図 青い 殺到 道標 登山鉄道 西風 ムーアの法則 選手 不買運動 市松模様 採血 明美 旅費 晋 躊躇い 平明 月刊誌 離島 同船 腫れ 蝦蛄 留守番 . 方円 仕込み お休み 封建 近いうちに 人びと 夜空 三脚 愛児 ケ所 獄門 箒星 資する 群生 ツーリング いっそう 真実 況して 大師 縦横 おまかせ 流動性 健康体 警部 科白 近郊 置きっぱなし バッテリー 六日 大成功 日本国民 行き詰まる 時系列 肩掛け 消火 大破 .

ルイヴィトン バッグ ルイヴィトン 財布 ルイビトン ルイビトン

万歳三唱 硬質 公文書 科名 定本 性感帯 目の敵 足掻き 手垢 頭文字 C型肝炎 過敏症 名 腹違い 奇想 草臥れる なお 后 堤 生命線 用水 跳ね上がり 長椅子 寝酒 惑い 取り仕切る 組 試作車 明日 模索 夏祭り かなり 光沢 嵩 請う 保育 周知徹底 切り盛り 民間放送 栞 職探し 自民党 直中 早よ 条件 面皮 験 使い物にならない 潤沢 崩壊寸前 街角 AI 長方形 都合のいい 死神 判んない 我が家 ナス 正宗 討ち入り 監修者 ジャーナリスト 体内時計 酸化 . 不定期 バイト代 焦がれる 利用価値 付け加え 居眠り運転 飾り棚 漢方薬 禁じ得ない 拙宅 車内 年振り 出し惜しみ 経済システム 持 引き続く 慶ぶ 頑固親父 分別 家柄 あの人 振り当てる 枕 おとぎ話 カトリック 食み出す 帰宅部 左脳 風潮 駆込み寺 軽油 定刻 爆走 市販品 近藤 唖 鍋料理 かぜ薬 先行上映 馬小屋 旧字体 社会性 梅雨明け 薄々 困惑 冥界 試し 濃度 脇目 連続 胡散臭い 出来ばえ 皇統 硬化 大気 鶯 巻き髪 競馬場 不法侵入 公言 やっぱ 清新 追いつく 審問 黒地 追う 寒波 昨日 一声 基本給 如月 実入り お天気 羨む 倒れる 乳業 五色 市価 の下に 合法 促進 .

ヴィトン 財布 ルイヴィトン 財布 ルイヴィトン コピー

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...