Jump to content

Edit History

Francesco

Francesco

@Mediacom87

J'ai essayé de placer les codes que tu indiques sur:

https://www.mediacom87.fr/comment-associer-automatiquement-toutes-les-categories-a-un-nouveau-groupe-client-sur-prestashop-17/

Placés tels quels dans ma version de Dreamweaver ça me renvoyait des erreurs. C'est peut être à cause de ma version mais à priori les [] placés comme ça il n'aime pas..

Bref, j'ai essayé de réadapter ça en m'inspirant de ce qui existe déjà dans la function renderForm()

Donc, après le array du show_prices, j'ai placé ça: 

array(
'type' => 'switch',
'label' => $this->trans('Assign to all categories', array(), 'Admin.Shopparameters.Feature' ),
'name' => 'all_cat',
'required' => false,
'class' => 't',
'is_bool' => true,
'values' => array(
	array(
'id' => 'all_cat_on',
'value' => 1,
'label' => $this->trans('Enabled', array(), 'Admin.Global' ),
),
	array(
'id' => 'all_cat_off',
'value' => 0,
'label' => $this->trans('Disabled', array(), 'Admin.Global'),
)
),
'desc' => $this->trans( 'Customers in this group can access to all categories. Leave on "NO" if you want to assign them manually', array(), 'Admin.Shopparameters.Help'),
),

Visuellement ça affiche bien le swith, et ça semble fonctionner quand on clique dessus il bascule.

Juste sous public function processSave()

j'ai ensuite placé ça:

protected function access_all($group)
{
	$id_group = (int)$group->id;
	$assign_to_all = (bool)Tools::getValue('all_cat');
	if($assign_to_all && $id_group){
		Db::getInstance()->execute('
		INSERT IGNORE INTO `'._DB_PREFIX_.'category_group` (id_category, id_group)
		SELECT DISTINCT id_category, '.$id_group.'
		FROM `'._DB_PREFIX_.'category`
		WHERE id_parent != 0
		');
	}
}

a priori je ne vois pas trop d'erreurs, mais au final ça n'a pas d'effet. Quand je crée un nouveau groupe et que je sélectionne Assign to all categories, le groupe n'est pas assigné aux catégories déjà existantes. 

J'ai du me planter quelque part... 🤔

PS: je ne suis pas expert en PHP et surtout pas dans la façon de coder pour PS... donc pas taper si j'ai fait une boulette 😅

Si tu peux jeter in œil pour voir où je me suis planté... 

 

 

Francesco

Francesco

@Mediacom87

J'ai essayé de placer les codes que tu indiques sur:

https://www.mediacom87.fr/comment-associer-automatiquement-toutes-les-categories-a-un-nouveau-groupe-client-sur-prestashop-17/

Placés tels quels dans ma version de Dreamweaver ça me renvoyait des erreurs. C'est peut être à cause de ma version mais à priori les [] placés comme ça il n'aime pas..

Bref, j'ai essayé de réadapter ça en m'inspirant de ce qui existe déjà dans la function renderForm()

Donc, après le array du show_prices, j'ai placé ça: 

array(
'type' => 'switch',
'label' => $this->trans('Assign to all categories', array(), 'Admin.Shopparameters.Feature' ),
'name' => 'all_cat',
'required' => false,
'class' => 't',
'is_bool' => true,
'values' => array(
	array(
'id' => 'all_cat_on',
'value' => 1,
'label' => $this->trans('Enabled', array(), 'Admin.Global' ),
),
	array(
'id' => 'all_cat_off',
'value' => 0,
'label' => $this->trans('Disabled', array(), 'Admin.Global'),
)
),
'desc' => $this->trans( 'Customers in this group can access to all categories. Leave on "NO" if you want to assign them manually', array(), 'Admin.Shopparameters.Help'),
),

Visuellement ça affiche bien le swith, et ça semble fonctionner quand on clique dessus il bascule.

Juste sous public function processSave()

j'ai ensuite placé ça:

protected function access_all($group)
{
	$id_group = (int)$group->id;
	$assign_to_all = (bool)Tools::getValue('all_cat');
	if($assign_to_all && $id_group){
		Db::getInstance()->execute('
		INSERT IGNORE INTO `' ._DB_PREFIX_. 'category_group` (id_category, id_group)
		SELECT DISTINCT id_category, '.$id_group.'
		FROM `' ._DB_PREFIX_. 'category`
		WHERE id_parent != 0
		');
	}
}

a priori je ne vois pas trop d'erreurs, mais au final ça n'a pas d'effet. Quand je crée un nouveau groupe et que je sélectionne Assign to all categories, le groupe n'est pas assigné aux catégories déjà existantes. 

J'ai du me planter quelque part... 🤔

PS: je ne suis pas expert en PHP et surtout pas dans la façon de coder pour PS... donc pas taper si j'ai fait une boulette 😅

Si tu peux jeter in œil pour voir où je me suis planté... 

 

 

Francesco

Francesco

@Mediacom87

J'ai essayé de placer les codes que tu indiques sur:

https://www.mediacom87.fr/comment-associer-automatiquement-toutes-les-categories-a-un-nouveau-groupe-client-sur-prestashop-17/

Placés tels quels dans ma version de Dreamweaver ça me renvoyait des erreurs. C'est peut être à cause de ma version mais à priori les [] placés comme ça il n'aime pas..

Bref, j'ai essayé de réadapter ça en m'inspirant de ce qui existe déjà dans la function renderForm()

Donc, après le array du show_prices, j'ai placé ça: 

array(
'type' => 'switch',
'label' => $this->trans('Assign to all categories', array(), 'Admin.Shopparameters.Feature' ),
'name' => 'all_cat',
'required' => false,
'class' => 't',
'is_bool' => true,
'values' => array(
	array(
'id' => 'all_cat_on',
'value' => 1,
'label' => $this->trans('Enabled', array(), 'Admin.Global' ),
),
	array(
'id' => 'all_cat_off',
'value' => 0,
'label' => $this->trans('Disabled', array(), 'Admin.Global'),
)
),
'desc' => $this->trans( 'Customers in this group can access to all categories. Leave on "NO" if you want to assign them manually', array(), 'Admin.Shopparameters.Help'),
),

Visuellement ça affiche bien le swith, et ça semble fonctionner quand on clique dessus il bascule.

Juste sous public function processSave()

j'ai ensuite placé ça:

protected function access_all($group)
{
	$id_group = (int)$group->id;
	$assign_to_all = (bool)Tools::getValue('all_cat');
	if($assign_to_all && $id_group){
		Db::getInstance()->execute('
		INSERT IGNORE INTO `' . _DB_PREFIX_ . 'category_group` (id_category, id_group)
		SELECT DISTINCT id_category, '.$id_group.'
		FROM `' . _DB_PREFIX_ . 'category`
		WHERE id_parent != 0
		');
	}
}

a priori je ne vois pas trop d'erreurs, mais au final ça n'a pas d'effet. Quand je crée un nouveau groupe et que je sélectionne Assign to all categories, le groupe n'est pas assigné aux catégories déjà existantes. 

J'ai du me planter quelque part... 🤔

PS: je ne suis pas expert en PHP et surtout pas dans la façon de coder pour PS... donc pas taper si j'ai fait une boulette 😅

Si tu peux jeter in œil pour voir où je me suis planté... 

 

 

Francesco

Francesco

@Mediacom87

J'ai essayé de placer les codes que tu indiques sur:

https://www.mediacom87.fr/comment-associer-automatiquement-toutes-les-categories-a-un-nouveau-groupe-client-sur-prestashop-17/

Placés tels quels dans ma version de Dreamweaver ça me renvoyait des erreurs. C'est peut être à cause de ma version mais à priori les [] placés comme ça il n'aime pas..

Bref, j'ai essayé de réadapter ça en m'inspirant de ce qui existe déjà dans la function renderForm()

Donc, après le array du show_prices, j'ai placé ça: 

array(
'type' => 'switch',
'label' => $this->trans('Assign to all categories', array(), 'Admin.Shopparameters.Feature' ),
'name' => 'all_cat',
'required' => false,
'class' => 't',
'is_bool' => true,
'values' => array(
	array(
'id' => 'all_cat_on',
'value' => 1,
'label' => $this->trans('Enabled', array(), 'Admin.Global' ),
),
	array(
'id' => 'all_cat_off',
'value' => 0,
'label' => $this->trans('Disabled', array(), 'Admin.Global'),
)
),
'desc' => $this->trans( 'Customers in this group can access to all categories. Leave on "NO" if you want to assign them manually', array(), 'Admin.Shopparameters.Help'),
),

Visuellement ça affiche bien le swith, et ça semble fonctionner quand on clique dessus il bascule.

Juste sous public function processSave()

j'ai ensuite placé ça:

protected function access_all($group)
{
	$id_group = (int)$group->id;
	$assign_to_all = (bool)Tools::getValue('all_cat');
	if($assign_to_all && $id_group){
		Db::getInstance()->execute('
		INSERT IGNORE INTO `' . _DB_PREFIX_ . 'ps_category_group` (id_category, id_group)
		SELECT DISTINCT id_category, '.$id_group.'
		FROM `ps_category`
		WHERE id_parent != 0
		');
	}
}

a priori je ne vois pas trop d'erreurs, mais au final ça n'a pas d'effet. Quand je crée un nouveau groupe et que je sélectionne Assign to all categories, le groupe n'est pas assigné aux catégories déjà existantes. 

J'ai du me planter quelque part... 🤔

PS: je ne suis pas expert en PHP et surtout pas dans la façon de coder pour PS... donc pas taper si j'ai fait une boulette 😅

Si tu peux jeter in œil pour voir où je me suis planté... 

 

 

Francesco

Francesco

@Mediacom87

J'ai essayé de placer les codes que tu indiques sur:

https://www.mediacom87.fr/comment-associer-automatiquement-toutes-les-categories-a-un-nouveau-groupe-client-sur-prestashop-17/

Placés tels quels dans ma version de Dreamweaver ça me renvoyait des erreurs. C'est peut être à cause de ma version mais à priori les [] placés comme ça il n'aime pas..

Bref, j'ai essayé de réadapter ça en m'inspirant de ce qui existe déjà dans la function renderForm()

Donc, après le array du show_prices, j'ai placé ça: 

array(
'type' => 'switch',
'label' => $this->trans('Assign to all categories', array(), 'Admin.Shopparameters.Feature' ),
'name' => 'all_cat',
'required' => false,
'class' => 't',
'is_bool' => true,
'values' => array(
	array(
'id' => 'all_cat_on',
'value' => 1,
'label' => $this->trans('Enabled', array(), 'Admin.Global' ),
),
	array(
'id' => 'all_cat_off',
'value' => 0,
'label' => $this->trans('Disabled', array(), 'Admin.Global'),
)
),
'desc' => $this->trans( 'Customers in this group can access to all categories. Leave on "NO" if you want to assign them manually', array(), 'Admin.Shopparameters.Help'),
),

Visuellement ça affiche bien le swith, et ça semble fonctionner quand on clique dessus il bascule.

Juste sous public function processSave()

j'ai ensuite placé ça:

protected function access_all($group)
{
	$id_group = (int)$group->id;
	$assign_to_all = (bool)Tools::getValue('all_cat');
	if($assign_to_all && $id_group){
		Db::getInstance()->execute('
		INSERT IGNORE INTO `ps_category_group` (id_category, id_group)
		SELECT DISTINCT id_category, '.$id_group.'
		FROM `ps_category`
		WHERE id_parent != 0
		');
	}
}

a priori je ne vois pas trop d'erreurs, mais au final ça n'a pas d'effet. Quand je crée un nouveau groupe et que je sélectionne Assign to all categories, le groupe n'est pas assigné aux catégories déjà existantes. 

J'ai du me planter quelque part... 🤔

PS: je ne suis pas expert en PHP et surtout pas dans la façon de coder pour PS... donc pas taper si j'ai fait une boulette 😅

Si tu peux jeter in œil pour voir où je me suis planté... 

 

 

×
×
  • Create New...