THELIA Forum

Welcome to the THELIA support and discusssion forum

Announcement

Rejoignez la communauté sur le Discord Thelia : https://discord.gg/YgwpYEE3y3

Offline


Hello

En cliquant sur le bouton modifier d'une image d'une catégorie j'obtiens cette erreur :

Circular reference detected in folder ID=54 hierarchy (folder ID=53 appears more than one times in path)

Une idée d'où ça pourrait provenir?

Last edited by Elyos (Yesterday 18:29:10)


Aide les autres, ils t'aideront en retour.

Offline


Visiblement ça provient de la fonction getBreadcrumb de CategoryImage.php (Model);


Aide les autres, ils t'aideront en retour.

Offline


Il doit y avoir un souci dans les functions getBaseBreadcrumb ? (Catalog et Folder)

do {
	$category = CategoryQuery::create()
		->filterById($categoryId)
		->findOne();

	if ($category != null) {
		$results[] = [
			'ID' => $category->getId(),
			'TITLE' => $category->getTitle(),
			'URL' => $category->getUrl(),
		];

		$currentId = $category->getParent();

		if ($currentId > 0) {
			// Prevent circular refererences
			if (\in_array($currentId, $ids)) {
				throw new \LogicException(
					sprintf(
						'Circular reference detected in folder ID=%d hierarchy (folder ID=%d appears more than one times in path)',
						$categoryId,
						$currentId
					)
				);
			}

			$ids[] = $currentId;
		}
	}
} while ($category != null && $currentId > 0 && --$depth > 0);

A aucun moment dans la boucle ça ne change la variable $categoryId ... donc ça fait forcément une récursion non...?


Aide les autres, ils t'aideront en retour.

Offline


Ok.. j'ai corrigé le code source et en voulant faire un commit, j'ai vu que sur github c'était corrigé...


Aide les autres, ils t'aideront en retour.

Offline


J'ai tout de même fait un commit pour les deux breadcrumb (catalog et folder) car getTitle retournait null.

Le souci c'est que je ne sais pas si on prend en compte mes commit (la fois dernière j'en ai fait un pour featureAvController mais il n'a pas été mis en place sur le main...)


Aide les autres, ils t'aideront en retour.