Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
900155d078 | ||
|
|
aa8698232d | ||
|
|
c952bd330f | ||
|
|
35a5eb3a60 | ||
|
|
7ce8d94ed9 | ||
|
|
93b353922e | ||
|
|
4eda04b2f0 | ||
|
|
4a958da4df |
+280
-66
@@ -8,6 +8,12 @@
|
|||||||
* you can set an auto title from this field, The required,
|
* you can set an auto title from this field, The required,
|
||||||
* number of value at 1 and term_node synch of global field are required
|
* number of value at 1 and term_node synch of global field are required
|
||||||
*
|
*
|
||||||
|
* <?php
|
||||||
|
* // automatic node titles php snippet for translation
|
||||||
|
* $items = field_get_items('node', $node, 'field_tode_program');
|
||||||
|
* return t($items[0]['name']);
|
||||||
|
* ?>
|
||||||
|
*
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@@ -36,6 +42,9 @@ function tode_theme() {
|
|||||||
'tode' => array(
|
'tode' => array(
|
||||||
'arguments' => array('element' => NULL),
|
'arguments' => array('element' => NULL),
|
||||||
),
|
),
|
||||||
|
'tode_node_formatter' => array(
|
||||||
|
'variables' => array('item' => NULL, 'viewmode' => 'full', 'nodes'=>NULL),
|
||||||
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -65,6 +74,8 @@ function tode_field_widget_info() {
|
|||||||
'show_term_form'=> -1,
|
'show_term_form'=> -1,
|
||||||
'choose_term_parent'=> -1,
|
'choose_term_parent'=> -1,
|
||||||
'maxlength'=> 255,
|
'maxlength'=> 255,
|
||||||
|
'redirect_term_to_node' => -1,
|
||||||
|
'show_create_tode' => -1,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
@@ -112,6 +123,12 @@ function tode_field_widget_settings_form($field, $instance){
|
|||||||
'#title' => t('Rewrite all term link to theire tode node ?'),
|
'#title' => t('Rewrite all term link to theire tode node ?'),
|
||||||
'#default_value' => $settings['redirect_term_to_node'],
|
'#default_value' => $settings['redirect_term_to_node'],
|
||||||
);
|
);
|
||||||
|
|
||||||
|
$form['redirect_node_to_term'] = array(
|
||||||
|
'#type' => 'checkbox',
|
||||||
|
'#title' => t('Rewrite all node link to theire term node ?'),
|
||||||
|
'#default_value' => $settings['redirect_node_to_term'],
|
||||||
|
);
|
||||||
|
|
||||||
$form['show_create_tode'] = array(
|
$form['show_create_tode'] = array(
|
||||||
'#type' => 'checkbox',
|
'#type' => 'checkbox',
|
||||||
@@ -131,6 +148,8 @@ function _tode_widget_settings_maxlength_validate($element, &$form_state) {
|
|||||||
if (!is_numeric($value) || intval($value) != $value || $value <= 0) {
|
if (!is_numeric($value) || intval($value) != $value || $value <= 0) {
|
||||||
form_error($element, t('"Maximum length" must be a positive integer.'));
|
form_error($element, t('"Maximum length" must be a positive integer.'));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# TODO checke that node to term and term to node can't be chexked together
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -212,7 +231,7 @@ function tode_field_widget_form(&$form, &$form_state, $field, $instance, $langco
|
|||||||
$form['tode_vid'] = array('#type' => 'hidden', '#value' => $vocabulary->vid,'#delta' => $element['#delta'],);
|
$form['tode_vid'] = array('#type' => 'hidden', '#value' => $vocabulary->vid,'#delta' => $element['#delta'],);
|
||||||
|
|
||||||
$form['tode_parent_term'] = array(
|
$form['tode_parent_term'] = array(
|
||||||
'#title' => 'Parent ' . $vocabulary->name . ' (optional)',
|
'#title' => 'Parent ' . $vocabulary->name,
|
||||||
'#type' => 'textfield',
|
'#type' => 'textfield',
|
||||||
'#default_value' => isset($term_parent) ? $term_parent->name : '',
|
'#default_value' => isset($term_parent) ? $term_parent->name : '',
|
||||||
'#autocomplete_path' => 'taxonomy/autocomplete' . '/' . $field['field_name'],
|
'#autocomplete_path' => 'taxonomy/autocomplete' . '/' . $field['field_name'],
|
||||||
@@ -455,32 +474,43 @@ function tode_node_submit($node, $form, &$form_state) {
|
|||||||
|
|
||||||
// dsm($tode_field_term_value, '$tode_field_term_value');
|
// dsm($tode_field_term_value, '$tode_field_term_value');
|
||||||
if($tode_field_term_value){
|
if($tode_field_term_value){
|
||||||
|
// dsm($form_state['values'][$prefix], '$form_state["values"][$prefix]');
|
||||||
$values = _tode_prefix_form($form_state['values'][$prefix], $prefix.'_', FALSE);
|
$values = _tode_prefix_form($form_state['values'][$prefix], $prefix.'_', FALSE);
|
||||||
// dsm($values, 'values');
|
// dsm($values, 'values');
|
||||||
|
|
||||||
if(!module_exists('i18n_taxonomy') || $language == 'und' || $language == $default_language){
|
if(module_exists('i18n_taxonomy') && $language != 'und' && $language != $default_language){
|
||||||
|
|
||||||
// define the form_state for term_form submit
|
|
||||||
$new_term_form_state = array(
|
|
||||||
'build_info'=>array(
|
|
||||||
'args'=>array(0=>(object)$tode_field_term_value),
|
|
||||||
),
|
|
||||||
"values"=>array(
|
|
||||||
'name'=> $tode_field_term_value['name'], // replace the original (hidden) term name value by the typed in the the entity field
|
|
||||||
'op'=> t('Save'),
|
|
||||||
)
|
|
||||||
);
|
|
||||||
// add new values to form_state
|
|
||||||
$new_term_form_state['values'] += $values;
|
|
||||||
|
|
||||||
// dsm($new_term_form_state, 'form_state');
|
|
||||||
drupal_form_submit('taxonomy_form_term', $new_term_form_state);
|
|
||||||
}else{
|
|
||||||
|
|
||||||
$context= array('term',$values['tid'],'name');
|
$context= array('term',$values['tid'],'name');
|
||||||
|
|
||||||
i18n_string_textgroup('taxonomy')->update_translation($context, $language, $tode_field_term_value['name']);
|
i18n_string_textgroup('taxonomy')->update_translation($context, $language, $tode_field_term_value['name']);
|
||||||
|
|
||||||
|
$tode_field_term_value['name'] = $values['name'];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
$parent_tid = $tode_field_term_value['parent'];
|
||||||
|
$values['parent'] = array($parent_tid => $parent_tid);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// if(!module_exists('i18n_taxonomy') || $language == 'und' || $language == $default_language){
|
||||||
|
|
||||||
|
// define the form_state for term_form submit
|
||||||
|
$new_term_form_state = array(
|
||||||
|
'build_info'=>array(
|
||||||
|
'args'=>array(0=>(object)$tode_field_term_value),
|
||||||
|
),
|
||||||
|
"values"=>array(
|
||||||
|
'name'=> $tode_field_term_value['name'], // replace the original (hidden) term name value by the typed in the the entity field
|
||||||
|
'op'=> t('Save'),
|
||||||
|
)
|
||||||
|
);
|
||||||
|
// add new values to form_state
|
||||||
|
$new_term_form_state['values'] += $values;
|
||||||
|
|
||||||
|
// dsm($new_term_form_state, 'form_state');
|
||||||
|
drupal_form_submit('taxonomy_form_term', $new_term_form_state);
|
||||||
|
// }else{
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -497,7 +527,7 @@ function tode_node_presave($node) {
|
|||||||
// dsm('- - - tode_node_presave');
|
// dsm('- - - tode_node_presave');
|
||||||
// dsm($node, 'node');
|
// dsm($node, 'node');
|
||||||
|
|
||||||
if($node->nid)
|
if(isset($node->nid))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
$tode_fields = _tode_get_node_tode_fields_def($node);
|
$tode_fields = _tode_get_node_tode_fields_def($node);
|
||||||
@@ -510,6 +540,10 @@ function tode_node_presave($node) {
|
|||||||
// purpose of that is to directly atribute the right language to the term
|
// purpose of that is to directly atribute the right language to the term
|
||||||
foreach ($tode_fields as $field_name => $field){
|
foreach ($tode_fields as $field_name => $field){
|
||||||
$tode_field = $node->$field_name;
|
$tode_field = $node->$field_name;
|
||||||
|
|
||||||
|
if(!isset($tode_field[$node->language][0]))
|
||||||
|
continue;
|
||||||
|
|
||||||
$tode_field_term = $tode_field[$node->language][0]; // on node creation field language is always to und (sure ?)
|
$tode_field_term = $tode_field[$node->language][0]; // on node creation field language is always to und (sure ?)
|
||||||
|
|
||||||
// // test the language, if not default language create the term name translation
|
// // test the language, if not default language create the term name translation
|
||||||
@@ -740,18 +774,23 @@ function BAD_ONE_tode_entity_add_form($js = FALSE, $bundle, $entity) {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Implements hook_field_widget_form_alter().
|
* Implements hook_field_widget_form_alter().
|
||||||
|
*
|
||||||
|
* add create entity bundle front of term reference field with tode voc
|
||||||
*/
|
*/
|
||||||
function tode_field_widget_form_alter(&$element, &$form_state, $context) {
|
function DESACTIVATED_tode_field_widget_form_alter(&$element, &$form_state, $context) {
|
||||||
$field = $context['field'];
|
$field = $context['field'];
|
||||||
$instance = $context['instance'];
|
$instance = $context['instance'];
|
||||||
if($field['type'] == 'taxonomy_term_reference' && $instance['widget']['type'] == 'taxonomy_autocomplete'){
|
|
||||||
// dsm('- - - - - tode_field_widget_form_alter');
|
if($field['type'] == 'taxonomy_term_reference' && ($instance['widget']['type'] == 'taxonomy_autocomplete' || $instance['widget']['type'] == 'autocomplete_deluxe_taxonomy')){
|
||||||
// dsm($element, '$element');
|
// dsm('- - - - - tode_field_widget_form_alter');
|
||||||
// dsm($form_state, '$form_state');
|
// dsm($element, '$element');
|
||||||
// dsm($context, '$context');
|
// dsm($form_state, '$form_state');
|
||||||
|
// dsm($context, '$context');
|
||||||
|
// dsm($instance['widget']['type'], '$instance[widget][type]');
|
||||||
|
|
||||||
foreach ($field['settings']['allowed_values'] as $key => $value) {
|
foreach ($field['settings']['allowed_values'] as $key => $value) {
|
||||||
|
|
||||||
if($tode = _tode_get_voc_tode_fields_def($value['vocabulary'])){
|
if($tode = _tode_get_voc_tode_field_def($value['vocabulary'])){
|
||||||
|
|
||||||
ctools_include('ajax');
|
ctools_include('ajax');
|
||||||
ctools_include('modal');
|
ctools_include('modal');
|
||||||
@@ -812,6 +851,7 @@ function tode_field_widget_form_alter(&$element, &$form_state, $context) {
|
|||||||
$element['#suffix'] .= '</div></div>';
|
$element['#suffix'] .= '</div></div>';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// dsm($element, '$element');
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -832,10 +872,9 @@ function tode_field_widget_form_alter(&$element, &$form_state, $context) {
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
function tode_form_alter(&$form, $form_state, $form_id){
|
function tode_form_alter(&$form, $form_state, $form_id){
|
||||||
// dsm($form_id, 'tode form_alter form_id');
|
// dsm($form_id, 'tode form_alter form_id');
|
||||||
/*
|
// TODO block the deletion if tode term has children !! because this will delete them to …
|
||||||
TODO block the deletion if tode term has children !! because this will delete them to …
|
|
||||||
*/
|
|
||||||
if($form_id == 'test_node_form'){
|
if($form_id == 'test_node_form'){
|
||||||
// dsm($form_state);
|
// dsm($form_state);
|
||||||
}
|
}
|
||||||
@@ -945,44 +984,197 @@ function tode_delete_submit($form, &$form_state){
|
|||||||
* Implements hook_url_outbound_alter().
|
* Implements hook_url_outbound_alter().
|
||||||
*/
|
*/
|
||||||
function tode_url_outbound_alter(&$path, &$options, $original_path) {
|
function tode_url_outbound_alter(&$path, &$options, $original_path) {
|
||||||
|
// dsm('tode_url_outbound_alter');
|
||||||
# terms url
|
# terms url
|
||||||
if(isset($options['entity_type']) && $options['entity_type'] == 'taxonomy_term'){
|
$term = false;
|
||||||
// dsm('- - - - tode_url_outbound_alter');
|
$node = false;
|
||||||
// dsm($path, '$path');
|
// if(isset($options['entity_type']) && $options['entity_type'] == 'taxonomy_term'){
|
||||||
// dsm($options, '$options');
|
// // dsm('- - - - tode_url_outbound_alter');
|
||||||
// dsm($original_path, '$original_path');
|
// // dsm($path, '$path');
|
||||||
|
// // dsm($options, '$options');
|
||||||
|
// // dsm($original_path, '$original_path');
|
||||||
|
//
|
||||||
|
// $term = $options['entity'];
|
||||||
|
//
|
||||||
|
// }else{
|
||||||
|
// $args = explode('/', $original_path);
|
||||||
|
// // dsm($args, 'args');
|
||||||
|
// if($args[0] == 'taxonomy' && $args[1] == 'term' && is_numeric($args[2]) ){
|
||||||
|
// $term = taxonomy_term_load($args[2]);
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// }
|
||||||
|
|
||||||
|
if (preg_match('/^node\/([0-9]*)$/', $path, $matches)) {
|
||||||
|
$node = node_load($matches[1]);
|
||||||
|
}
|
||||||
|
|
||||||
|
# WARNING works only because nodeandtermrelink_url_outbound_alter() is trigered before this (KADIST)
|
||||||
|
if (preg_match('/^taxonomy\/term\/([0-9]*)$/', $path, $matches)) {
|
||||||
|
$term = taxonomy_term_load($matches[1]);
|
||||||
|
}
|
||||||
|
|
||||||
$term = $options['entity'];
|
|
||||||
|
|
||||||
if($field = _tode_get_voc_tode_fields_def($term->vocabulary_machine_name)){
|
if($node){
|
||||||
|
// dsm($node, 'node');
|
||||||
$sr = $field['storage']['details']['sql']['FIELD_LOAD_CURRENT'];
|
if($fields = _tode_get_node_tode_fields_def($node)){
|
||||||
foreach ($sr as $table => $column) {
|
foreach ($fields as $field_name => $field) {
|
||||||
$query = db_select($table, 'ft');
|
if (isset($field['widget']['settings']['redirect_node_to_term']) && $field['widget']['settings']['redirect_node_to_term']) {
|
||||||
$query->join('node', 'n', 'ft.entity_id = n.nid AND n.language = :language', array(':language' => $options['language']->language));
|
dsm($field, '$field');
|
||||||
$query
|
$items = field_get_items('node', $node, $field_name);
|
||||||
->fields('ft')
|
dsm($items, 'items');
|
||||||
->condition('ft.'.$column['tid'], $term->tid);
|
$new_path = 'taxonomy/term/'.$items[0]['tid'];
|
||||||
$result = $query->execute();
|
if( $new_alias = drupal_get_path_alias($new_path) ){//, $options['language']->language
|
||||||
break;
|
$path = $new_alias;
|
||||||
}
|
$original_path = $new_path;
|
||||||
|
$options['alias'] = TRUE;
|
||||||
foreach ($result as $node) {
|
}else{
|
||||||
$new_path = 'node/'.$node->entity_id;
|
$path = $new_path;
|
||||||
if( $new_alias = drupal_get_path_alias($new_path, $options['language']->language) ){
|
}
|
||||||
$path = $new_alias;
|
break;
|
||||||
$original_path = $new_path;
|
|
||||||
$options['alias'] = TRUE;
|
|
||||||
}else{
|
|
||||||
$path = $new_path;
|
|
||||||
}
|
}
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if($term){
|
||||||
|
// dsm($term, '$term : '.$term->name);
|
||||||
|
if($field = _tode_get_voc_tode_field_def($term->vocabulary_machine_name)){
|
||||||
|
// dsm($field, '$field');
|
||||||
|
// $field_settings = field_info_instance_settings($field->type);//field_info_widget_settings($field->field_name); //
|
||||||
|
// dsm($field_settings, '$field_settings');
|
||||||
|
# TODO add if widget setting; how to get the settings
|
||||||
|
if (isset($field['widget']['settings']['redirect_term_to_node']) && $field['widget']['settings']['redirect_term_to_node']) {
|
||||||
|
// dsm($field, '$field');
|
||||||
|
// dsm($options, '$options');
|
||||||
|
$sr = $field['field_info_field']['storage']['details']['sql']['FIELD_LOAD_CURRENT'];
|
||||||
|
foreach ($sr as $table => $column) {
|
||||||
|
$query = db_select($table, 'ft');
|
||||||
|
$query->join('node', 'n', 'ft.entity_id = n.nid AND n.language = :language OR n.language = :language', array(':language' => $options['language']->language, ':language' => 'und'));
|
||||||
|
$query
|
||||||
|
->fields('ft')
|
||||||
|
->condition('ft.'.$column['tid'], $term->tid);
|
||||||
|
$result = $query->execute();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach ($result as $node) {
|
||||||
|
// dsm($node, '$node');
|
||||||
|
$new_path = 'node/'.$node->entity_id;
|
||||||
|
if( $new_alias = drupal_get_path_alias($new_path, $options['language']->language) ){
|
||||||
|
$path = $new_alias;
|
||||||
|
$original_path = $new_path;
|
||||||
|
$options['alias'] = TRUE;
|
||||||
|
}else{
|
||||||
|
$path = $new_path;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Implements hook_field_formatter_info().
|
||||||
|
*/
|
||||||
|
function tode_field_formatter_info() {
|
||||||
|
return array(
|
||||||
|
'tode' => array(
|
||||||
|
'label' => t('tode (node of the term)'),
|
||||||
|
'field types' => array('taxonomy_term_reference'),
|
||||||
|
'settings'=>array('viewmode' => "full"),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Implements hook_field_formatter_settings_form().
|
||||||
|
*/
|
||||||
|
function tode_field_formatter_settings_form($field, $instance, $view_mode, $form, &$form_state) {
|
||||||
|
$element = array();
|
||||||
|
$display = $instance['display'][$view_mode];
|
||||||
|
$settings = $display['settings'];
|
||||||
|
$formatter = $display['type'];
|
||||||
|
|
||||||
|
if($formatter == 'tode'){
|
||||||
|
if($todefield = _tode_get_voc_tode_fields_def($field['settings']['allowed_values'][0]['vocabulary'])){
|
||||||
|
$entity_infos = entity_get_info();
|
||||||
|
foreach ($entity_infos['node']['view modes'] as $viewmode => $value) {
|
||||||
|
$viewmode_options[$viewmode] = $value['label'];
|
||||||
|
}
|
||||||
|
|
||||||
|
$element['viewmode'] = array(
|
||||||
|
'#type' => 'select',
|
||||||
|
'#title' => t('View mode'),
|
||||||
|
'#default_value' => $settings['viewmode'],
|
||||||
|
'#description' => t('select the view mode for the node'),
|
||||||
|
'#options' => $viewmode_options,
|
||||||
|
);
|
||||||
|
|
||||||
|
}else{
|
||||||
|
// TODO: tell that vocabulary has any tode field
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return $element;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Implements hook_field_formatter_settings_summary().
|
||||||
|
*/
|
||||||
|
function tode_field_formatter_settings_summary($field, $instance, $view_mode) {
|
||||||
|
$display = $instance['display'][$view_mode];
|
||||||
|
if($display['type'] == 'tode'){
|
||||||
|
$settings = $display['settings'];
|
||||||
|
$summary = t('viewmode : %vm', array('%vm'=> isset($settings['viewmode']) ? $settings['viewmode'] : 'full') );
|
||||||
|
return $summary;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Implements hook_field_formatter_view().
|
||||||
|
*/
|
||||||
|
function tode_field_formatter_view($entity_type, $entity, $field, $instance, $langcode, $items, $display) {
|
||||||
|
$element = array();
|
||||||
|
$settings = $display['settings'];
|
||||||
|
|
||||||
|
switch ($display['type']) {
|
||||||
|
case 'tode':
|
||||||
|
foreach ($items as $delta => $item) {
|
||||||
|
$term = taxonomy_term_load($item['tid']);
|
||||||
|
|
||||||
|
$entitys = tode_get_nids_from_term($term);
|
||||||
|
|
||||||
|
$nodes = array();
|
||||||
|
if(isset($entitys['node'])){
|
||||||
|
foreach ($entitys['node'] as $nid => $n) {
|
||||||
|
$node = node_load($nid);
|
||||||
|
$nodes[$nid] = $node;
|
||||||
|
}
|
||||||
|
$element[$delta] = array(
|
||||||
|
'#theme' => 'tode_node_formatter',
|
||||||
|
'#item' => $item,
|
||||||
|
'#viewmode' => $settings['viewmode'],
|
||||||
|
'#nodes'=> $nodes,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
return $element;
|
||||||
|
}
|
||||||
|
|
||||||
|
function theme_tode_node_formatter($vars){
|
||||||
|
// dsm($vars, 'theme_tode_node_formatter | vars');
|
||||||
|
print render(entity_view('node', $vars['nodes'], $vars['viewmode']));
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* HELPERS
|
* HELPERS
|
||||||
*/
|
*/
|
||||||
@@ -1091,22 +1283,44 @@ function _tode_get_node_tode_fields_def($node){
|
|||||||
return $tode_fields;
|
return $tode_fields;
|
||||||
}
|
}
|
||||||
|
|
||||||
function _tode_get_voc_tode_fields_def($voc_name){
|
function _tode_get_voc_tode_field_def($voc_name){
|
||||||
$type_fields = field_info_instances('node');
|
$type_fields = field_info_instances('node');
|
||||||
// dsm($type_fields, '$type_fields');
|
// dsm($type_fields, '$type_fields');
|
||||||
foreach ($type_fields as $nodetype => $fields)
|
foreach ($type_fields as $nodetype => $fields)
|
||||||
foreach ($fields as $field_name => $field)
|
foreach ($fields as $field_name => $field)
|
||||||
if($field['widget']['type'] == 'tode'
|
if($field['widget']['type'] == 'tode'){
|
||||||
&& isset($field['widget']['settings']['redirect_term_to_node'])
|
// dsm($field, '$field');
|
||||||
&& $field['widget']['settings']['redirect_term_to_node']
|
|
||||||
){
|
|
||||||
$fieldinfos = field_info_field($field_name);
|
$fieldinfos = field_info_field($field_name);
|
||||||
// dsm($fieldinfos, '$fieldinfos');
|
// dsm($fieldinfos, '$fieldinfos');
|
||||||
|
$field['field_info_field'] = $fieldinfos;
|
||||||
if($voc_name == $fieldinfos['settings']['allowed_values'][0]['vocabulary'])
|
if($voc_name == $fieldinfos['settings']['allowed_values'][0]['vocabulary'])
|
||||||
return $fieldinfos;
|
return $field;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function tode_get_nids_from_term($term, $language = false){
|
||||||
|
|
||||||
|
|
||||||
|
if($todefield = _tode_get_voc_tode_field_def($term->vocabulary_machine_name)){
|
||||||
|
// $fieldinfos = field_info_field($todefield->field_name);
|
||||||
|
$query = new EntityFieldQuery();
|
||||||
|
$query->entityCondition('entity_type', 'node')
|
||||||
|
->fieldCondition($todefield['field_name'], 'tid', $term->tid);
|
||||||
|
|
||||||
|
if($language)
|
||||||
|
$query->propertyCondition('language', array('und', $language), 'IN');
|
||||||
|
|
||||||
|
$result = $query->execute();
|
||||||
|
if(count($result))
|
||||||
|
return $result;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user