Comment puis-je insérer par programme des valeurs dans le champ de texte personnalisé Global à partir des vues. J'ai essayé d'utiliser la variable $ views à partir des hook_views_pre_render (& $ views) et my_theme_name_process_function (& $ vars) mais je n'ai pas réussi à obtenir la valeur? Lorsque j'essaie un champ simple, je peux insérer du HTML dans le balisage par programme.
$view = view Object
(
[db_table] => views_view
[base_table] => node
[base_field] => nid
[name] =>view_name
[vid] => 3
[description] =>
[tag] => default
[human_name] => view_name
[core] => 7
[api_version] =>
[disabled] =>
[editing] =>
[args] => Array
(
)
[use_ajax] =>
[result] => Array
[result] => Array
(
[0] => stdClass Object
[field_field_final_ort] => Array
(
[0] => Array
(
[rendered] => Array
(
['#markup'] => YES
Je souhaite également modifier la valeur du champ de texte personnalisé GLOBAL à l'aide de l'objet vues, mais il n'y a pas un tel tableau pour le champ de texte personnalisé global.
Comment changer cela?
Mon code était
function my_themename_process_views_view_field(&$vars) {
if ($vars['view']->name == 'view_name') {
foreach( $vars['view']->result as $key => $value) {
$value->field_name[0]['rendered']['#markup'] = '';
}
}
Je veux appliquer ce code similaire pour le champ de texte personnalisé global mais il n'y a pas de suxh disponible dans le tableau de résultats
Comment puis-je modifier les valeurs de chaque ligne de la valeur globale du champ de texte personnalisé? La réponse donnée ci-dessous donne les mêmes valeurs pour chaque ligne.
Vous devriez pouvoir le faire avec hook_views_pre_render () . Veuillez essayer le code suivant:
function YOUR_THEME_views_pre_render(&$view) {
switch ($view->name) {
case 'YOUR_VIEW_NAME':
// override the global custom text field value
$view->field['nothing']->options['alter']['text'] = 'My custom text';
break;
}
}
Si la valeur globale du texte personnalisé doit être différente pour chaque résultat d'affichage, vous pouvez la configurer à l'aide de modèles de remplacement.
Afin d'insérer par programme des valeurs dans le champ de texte personnalisé global, vous pouvez utiliser template_preprocess_views_view_fields ()
function YOUR_THEME_preprocess_views_view_fields(&$vars) {
$view = $vars['view'];
foreach ($view->field as $id => $field) {
// The global custom text content
$vars['fields']['nothing']->content = 'Some global custom text content';
// change the global custom text content depend on result (node id)
if ($vars['row']->nid == 10) $vars['fields']['nothing']->content = 'CHANGED';
}
}