Skip to main content

Affichage en front-end d'un produit non publié

More
6 years 1 month ago #322848 by NosyWeb
-- url of the page with the problem -- : nwd2.cloudaccess.host/produits-comtois
-- HikaShop version -- : 4.3.0
-- Joomla version -- : 3.9.20

Bonjour,

Avant de publier sur le site un nouveau produit, est-il possible de l'afficher pour validation avant publication.
J'ai essayé d'afficher un produit non publié, en me connectant an tant que super admin, sans succès.
Cette demande est assez importante car nous développons un process qui se déclenche dès la publication d'un produit.
Merci d'avance.
Salutations.

Please Log in or Create an account to join the conversation.

More
6 years 1 month ago #322861 by nicolas
Bonjour,

Il n'y a pas d'option pour cela. L'affichage d'un produit non publié est complètement bloqué sur le frontend.
Pour changer cela, il faudrait changer le code:
Code:
$filters = array( 'pr.product_id = ' . $product_id, 'pr.product_related_type = ' . $database->Quote('options'), 'p.product_published = 1', '(p.product_sale_start = \'\' OR p.product_sale_start <= '.time().')', '(p.product_sale_end = \'\' OR p.product_sale_end > '.time().')' );
en:
Code:
$filters = array( 'pr.product_id = ' . $product_id, 'pr.product_related_type = ' . $database->Quote('options'), '(p.product_sale_start = \'\' OR p.product_sale_start <= '.time().')', '(p.product_sale_end = \'\' OR p.product_sale_end > '.time().')' ); if(!$is_admin) $filters[] = 'p.product_published = 1';
dans le fichier components/com_hikashop/views/product/view.html.php sachant qu'il faut définir $is_admin à true ou false en fonction de la situation (genre en vérifiant les groupes utilisateur de l'utilisateur en cours).
The following user(s) said Thank You: NosyWeb

Please Log in or Create an account to join the conversation.

More
6 years 1 month ago #322868 by NosyWeb
Merci Nicolas, je transmets à notre développeur.
Bonne journée.
The following user(s) said Thank You: Philip

Please Log in or Create an account to join the conversation.

More
6 years 1 month ago - 6 years 1 month ago #322976 by NosyWeb
Bonjour Nicolas,
(c'est Marc)

J'ai tenté d'appliquer la soluce ci-dessus, mais ca ne semble pas avoir d'effet !?
Dans notre cas, nous avons besoin qu'un admin puisse voir en front tous ses produits (même si dépubliés)
1- dans la liste des produits d'une categorie
2- et aussi dans le detail de la fiche produit

Pour le point 1, j'ai une solution en ajoutant un plugin sur l'event de la view product :
$app->triggerEvent( 'onBeforeProductListingLoad', array( & $filters, & $order, & $view, & $select, & $select2, & $a, & $b, & $on) );
et en modifiant le $filters dans le plugin (puisque passé par référence).

Pour le point 2, la solution proposée ne semble pas marcher.
Il semble que Hikashop renvoie vers la page 404, avant d'accéder à la view, comme si un controle Hikashop detectait que le produit est dépublié et donc pas accessible !?
- as-tu une suggestion pour pour m'aider a trouver le code qui effectue cette redirection 404 ?

Merci d'avance.
Last edit: 6 years 1 month ago by NosyWeb.

Please Log in or Create an account to join the conversation.

More
6 years 1 month ago #322983 by nicolas
Bonjour,

Le soucis n'est pas la redirection 404.
Elle est effectuée par le code:
Code:
if(empty($this->element)) { if($this->config->get('404_when_product_not_found',1)){ throw new Exception(JText::_('PRODUCT_NOT_FOUND'), 404); echo '</div>'; return; } $app->enqueueMessage(JText::_('PRODUCT_NOT_FOUND')); hikashop_setPageTitle(JText::_('PRODUCT_NOT_FOUND')); echo '</div>'; return; }
dans product / show.php car les données du produit demandé n'ont pas pu être chargées dans le view.html.php
Donc à mon avis, le soucis c'est que la valeur de $is_admin dans mon exemple de code à modifier n'a pas été initialisée correctement auparavant.

Please Log in or Create an account to join the conversation.

Time to create page: 0.219 seconds
Powered by Kunena Forum