J'utilise migrate pour importer un groupe de nœuds et je souhaite définir l'alias de chemin lors de la migration. Je suis en mesure d'importer l'alias de chemin comme suit:
$this->addFieldMapping('path', 'url_alias');
Lorsque je regarde les nœuds importés, je vois le chemin correct dans le path
champ, mais la Generate automatic URL alias
case est toujours cochée, ce qui signifie que le paramètre est ignoré.
Comment désactiver ce paramètre sur le nœud pendant la migration?
7
path-aliases
migration
Kenny Wyland
la source
la source
Generate automatic URL alias
est toujours vérifié.Travaille pour moi. Pathauto: effectuer l'alias (défini sur 0 pour empêcher la génération d'alias pendant la migration Voir 'drush ma' + nom de votre classe pour une description complète
la source
Si vous avez parfois mais pas toujours un alias de chemin entrant, voici comment vous pouvez déclencher pathauto uniquement si vous n'avez pas défini d'alias.
Tout d'abord, dans le constructeur, mappez les deux
path
etpathauto
:Ensuite, dans
::prepareRow()
, définissez lapathauto
propriété selon qu'il existe unepath
valeur entrante :Le résultat est que si vous avez explicitement passé un chemin qui sera utilisé pour l'alias, alors que si vous ne l'avez pas fait, Pathauto se déclenchera.
la source