Salut les développeurs !
Je m’attaque aux profils d’installation et je cherche à importer une vue. Le profil InnovationNews fait créer la vue par requêtes dans la base mais c’est un peu trop compliqué pour ma pomme. Mon idée est d’utiliser l’outil d’import/export de views : j’ai créé ma vue tout comme je veux, cliqué sur «export», enregistré le texte dans un fichier .txt, et maintenant je voudrais que le profil d’installation utilise mon fichier txt pour importer la vue.
J’utilise ce code, fourni par le module installation_profile_api :
/**
* Import a view from a file.
*
* @param $file
* The path to a file containing the export.
* @param $name
* The name of the view, must be EXACTLY the same as the 'name'
* attribute in the export!
*/
function install_views_ui_import_from_file($file, $name = '') {
if (!file_exists($file)) {
return FALSE;
}
$export = file_get_contents($file);
$form = array();
$form_state = array();
$form_state['values']['view'] = $export;
$form_state['values']['name'] = $name;
$form_state['values']['op'] = t('Import');
module_load_include('inc', 'views', 'includes/admin');
// Not using drupal_execute because it doesn't pass $form_state by
// reference, specifically the 'view' element is lost.
views_ui_import_validate($form, $form_state);
views_ui_import_submit($form, $form_state);
$form_state['view']->save();
// Remove this view from cache so we can edit it properly.
views_object_cache_clear('view', $form_state['view']->name);
}
Mon problème : je ne comprends pas le code donc je ne vois pas bien où placer mes infos. J’ai bien essayé en tâtonnant mais je n’y arrive pas et ça commence à m’agacer sérieusement. Peut-être l’un de vous pourra-t-il me consacrer deux minutes pour m’indiquer où placer tout mon fourbi.
Le fichier est à l’adresse vues/frontpage.txt (vues étant un sous-répertoire du répertoire dans lequel se trouve le profil). Le profil s’appelle labo et la vue page_accueil.
Big thanks !
- Vous devez vous identifier ou créer un compte pour écrire des commentaires

Hello Marie-hélène,
Je n’ai jamais crée de profil d’installation mais as tu essayer d’ajouter ca ?
install_views_ui_import_from_file('nom_de_tavue.txt', $name = '');Julien
Ideia.fr | Blog | Twitter
JulienD
319
ça me renvoie une parse error (Parse error : parse error, expecting
'&'' orT_VARIABLE’)et en faisant
function labo_views_ui_import_from_file($file = 'vues/frontpage.txt', $name = 'page_accueil')la vue n’est pas importéeOn n’est ni derrière votre dos, ni dans votre tête ! Soyez précis !
DRUPALISTIC : des infos sur Drupal et les modules. Sur twitter, 3 listes à suivre
Marie-Hélène
2067
La seule chose que tu as à faire c’est utiliser la fonction déja existante
install_views_ui_import_from_file('vues/frontpage.txt', 'page_accueil');Julien
Ideia.fr | Blog | Twitter
JulienD
319
cette syntaxe me revoie une parse error…
On n’est ni derrière votre dos, ni dans votre tête ! Soyez précis !
DRUPALISTIC : des infos sur Drupal et les modules. Sur twitter, 3 listes à suivre
Marie-Hélène
2067