Token types are not defined
Nel Resoconto sullo stato, non tra gli avvisi, compare questo:
Token types are not defined but have tokens $info['types']['taxonomy_term']
Di che cosa si tratta?
ciao egrazie
bgiordy
http://www.gmpe.it/
Nel Resoconto sullo stato, non tra gli avvisi, compare questo:
Token types are not defined but have tokens $info['types']['taxonomy_term']
Di che cosa si tratta?
ciao egrazie
Risposte
Ciao, l'errore è dato da
Ciao, l'errore è dato da un'incongruenza tra valori e definizioni dei token. Su Drupal.org si trova diverse volte come problema ma sempre collegato a versioni di moduli aggiuntivi inferiori a quelle per D9 ..
Per tracciare il problema dovresti eseguire un codice del genere:
<?php
$token_info = \Drupal::token()->getInfo();
print "<pre>";
print_r( $token_info['tokens']['taxonomy_term'] );
print "</pre>";
..
oppure
..
dump( $token_info['tokens']['taxonomy_term'] );
?>
che dovrebbe darti delle info specifiche per risalire al modulo che lo causa, del tipo:
...
[name] => Solo data
[description] => Drupal\Core\StringTranslation\TranslatableMarkup Object
(
[translatedMarkup:protected] =>
[options:protected] => Array
(
)
[stringTranslation:protected] =>
[string:protected] => A date in '@type' format. (%date)
[arguments:protected] => Array
(
[@type] => solo_data
[%date] => 23/12/2022
)
)
[module] => token
...
Grazie per la risposta. Scusa
Grazie per la risposta.
Scusa la mia totale ignoranza, ma non so dove caricare il file e come richiamarlo.
ciao e grazie
Puoi eseguirlo come script
Puoi eseguirlo come script esterno se hai installato drush (drush scr) nel tuo sistema oppure da linea di comando con php direttamente, crei un file php nella root di drupal (test.php) con contenuto:
<?php
use Drupal\Core\DrupalKernel;
use Symfony\Component\HttpFoundation\Request;
$autoloader = require_once 'autoload.php';
$kernel = DrupalKernel::createFromRequest(Request::createFromGlobals(), $autoloader, 'prod');
$kernel->boot();
$container = $kernel->getContainer();
$token_info = $container->get('token')->getInfo();
print "<pre>";
print_r( $token_info['tokens']['taxonomy_term'] );
print "</pre>";
?>
e poi lo lanci con "php test.php".
Altrimenti sostituisci temporaneamente l'index.php con lo stesso contenuto e richiami da browser la root del sito.
In ultima analisi potresti usare anche https://www.drupal.org/project/php (un pò come accadeva per Drupal <= 7) o https://www.drupal.org/project/devel_php ma te lo sconsiglio per un semplice controllo di questo genere.
Ho ottenuto questo: Array (
Ho ottenuto questo:
Questi token dovrebbero
Questi token dovrebbero essere generati dal modulo scheduler che però non prevede l'uso delle tassonomie ma solo dei nodi ...
<?php
/**
* Implements hook_token_info().
*/
function scheduler_token_info() {
$info['tokens']['node']['scheduler-publish'] = [
'name' => t('Publish on date'),
'description' => t("The date the node will be published."),
'type' => 'date',
];
$info['tokens']['node']['scheduler-unpublish'] = [
'name' => t('Unpublish on date'),
'description' => t("The date the node will be unpublished."),
'type' => 'date',
];
return $info;
}
?>
rimane un mistero da dove tiri fuori il token [...]['taxonomy_term'].
Probabilmente un altro modulo, per capire quale (se ancora è installato, potrebbe essere un rimasuglio di qualche configurazione) potresti provare a cercare all'interno dei files della directory dei moduli aggiuntivi la stringa 'scheduler-publish' o 'scheduler-unpublish'.
Ho provato a guardare qualche
Ho provato a guardare qualche modulo, tipo Calendar, cshs, .... ma non ho trovato niente.
Ho provato anche a disinstallare Taxonomy manager, che prevede di pubblicare e spubblicare, ma non è cambiato niente.
Non penso, comunque, sia un problema perché non è tra gli avvisi, ma sotto, tra le varie descrizioni.
Io lascerei perdere.
ciao e grazie per quello che stai facendo.
Auguri di Buon Natale
Auguri!! E' in effetti un
Auguri!! E' in effetti un semplice warning piuttosto che un problema vero e proprio.
Nel caso volessi approfondire ti conviene eseguire un ricerca del testo all'interno dei file dentro la cartella web/modules con un editor apposito (vscode, codium) in modo ricorsivo, altrimenti potresti metterci una vita ad aprire un modulo alla volta. In generale comunque puoi ignorare l'avviso.