Куда идем?

Несколько поисков

Больше
11 года 8 мес. назад - 11 года 8 мес. назад #3836 от Maxim
Maxim создал тему: Несколько поисков
Добрый вечер.
Мучаясь и познавая сий компонент добрел-таки до такой стадии :S . Нужно реализовать афишу театра. вывод спектаклей на текущий месяц и на следующий.

Отфильтровать по дате и с помощью плагинов Live Value я в конечном итоге сумел (в Live в первое поле подставляет начало текущего месяца, во второе поле начало следующего, ну и > <)... набросал плагин на +2 месяца и тут подумал и обломался вывод то возможен только на те Live которые стоят... и через МЕНЮ и Advanced Options ( CCK ) их уже не изменить как это было при тестовом прогоне с подстановкой в ручную дат...
Может можно организовать ещё один поиск привязать к пункту меню "Следующий месяц" и там уже отфильтровать по след месяц?
Или в плагине лайв задать условие что если лайв валуе заполнено, то текущий месяц иначе следующий, но каким образом задавать программно лайв валуе и как связать с Advanced Options ( CCK )? Может просто сделать еще одно поле и при настройке Advanced Options ( CCK ) передавать значение этого поля в лайв валуе даты... но как организовать передачу?

В поисках набрел на такую тему www.seblod.com/support/forum/Content-Types--Forms/30950-Solved-Calendar-today--7-days.html но запустить так и не получилось ни на одном шаблоне...
Помогите!!!
Вложения:
Последнее редактирование: 11 года 8 мес. назад пользователем Maxim.

Пожалуйста Войти или Зарегистрируйтесь, чтобы присоединиться к беседе.

Больше
11 года 8 мес. назад #3840 от Wedal
Wedal ответил в теме Re: Несколько поисков
Maxim, не понял, а почему вы решили, что через меню не изменить Live? В настройках пункта меню можно задать собственные Live для всех полей, по которым происходит поиск.
Спасибо сказали: Maxim

Пожалуйста Войти или Зарегистрируйтесь, чтобы присоединиться к беседе.

Больше
11 года 8 мес. назад - 11 года 8 мес. назад #3846 от Maxim
Maxim ответил в теме Re: Несколько поисков
Не получается... видно чего-то не-то сделал ...
Code:
public function onCCK_Field_LivePrepareForm( &$field, &$value = '', &$config = array() ) { if ( self::$type != $field->live ) { return; } $live=''; if ( $field->live_value ) { $P = intval($field->live_value); $data_nachmes1 = strtotime(date('Y').'-'.date('m').'-01'); $data_nachmes = strtotime(date('Y-m-d', $data_nachmes1).' +'.$P.' month'); //Получаем начало следующего месяца или в зависимости от заданного числа начало последующих месяцев. } else { $data_nachmes = strtotime('1 '.date('M').' '.date('Y')); //Получаем начало текущего месяца } $live = date( 'Y-m-d', $data_nachmes); $value = $live; }

В конструкторе работает, а вот из меню не хочет. Скорее всего я не так значение $P получаю, не оттуда...

Вот этот файлик генерит настройки в меню... может как-то это поможет? Совсем я запутался... по идее надо взять значение инпутбокса и оправить в плагин... но как это сделать?
Code:
**administrator/components/com_cck/helpers/scripts/list_live.php // No Direct Access defined( '_JEXEC' ) or die; // getOptions function getOptions( $string ) { $options = ''; if ( $string ) { $string = explode( '||', $string ); foreach( $string as $str ) { if ( $str != '' ) { $s = explode( '=', $str ); $options[$s[0]] = $s[1]; } } } return $options; } // Init $elem = JRequest::getString( 'elem', '' ); $name = JRequest::getString( 'e_name', '' ); $form = JCck::getConfig_Param( 'live_value_input', 'text' ); $html = ''; if ( ! $elem ) { return; } $item = new stdClass; $item->client = ( $elem == 'type' ) ? 'site' : 'search'; $item->id = JCckDatabase::loadResult( 'SELECT id FROM #__cck_core_'.$elem.'s WHERE name = "'.(string)$name.'"' ); if ( ! $item->id ) { return; } $live = JRequest::getString( 'live', '' ); $variat = JRequest::getString( 'variat', '' ); $values = getOptions( $live ); $variations = getOptions( $variat ); // Variations $opts = array( JHtml::_( 'select.option', '', '- '.JText::_( 'COM_CCK_INHERITED' ).' -' ), JHtml::_( 'select.option', 'clear', JText::_( 'COM_CCK_CLEAR' ) ), JHtml::_( 'select.option', '<OPTGROUP>', JText::_( 'COM_CCK_VARIATION' ) ), JHtml::_( 'select.option', 'form', JText::_( 'COM_CCK_FORM' ) ), JHtml::_( 'select.option', 'hidden', JText::_( 'COM_CCK_HIDDEN' ) ), JHtml::_( 'select.option', 'disabled', JText::_( 'COM_CCK_FORM_DISABLED' ) ), JHtml::_( 'select.option', 'value', JText::_( 'COM_CCK_VALUE' ) ), JHtml::_( 'select.option', '</OPTGROUP>', '' ) ); // Process require_once JPATH_ADMINISTRATOR.DS.'components'.DS.CCK_COM.DS.'helpers'.DS.'helper_selectable.php'; $fields = Helper_Selectable::getFields( $elem, $item, 'AND (( c.live = "" AND c.live_value = "" ) OR ( c.live != "" AND c.live != "stage" ))', false, true ); if ( count( $fields ) ) { if ( $form == 'form' ) { // RENDER FORM JPluginHelper::importPlugin( 'cck_field' ); $dispatcher = JDispatcher::getInstance(); foreach( $fields as $pos ) { foreach( $pos as $field ) { $inherit = array( 'id'=>'live_'.$field->name , 'name'=>'live_'.$field->name ); $value = @$values[$field->name]; $variat = @$variations[$field->name]; $variat = ( $variat == 'none' ) ? $variat = 'hidden' : $variat; // TODO: FIX TO REMOVE AFTER GA $variation = Jhtml::_( 'select.genericlist', $opts, 'variation_'.$field->name, 'size="1" class="inputbox variation_values" onchange="CCK_setOptions(\'variation\');"', 'value', 'text', $variat ); $field->css = 'live_values'; $field->attributes = 'onchange="CCK_setOptions(\'live\');"'; $dispatcher->trigger( 'onCCK_FieldPrepareForm', array( &$field, $value, &$config, $inherit ) ); $html .= '<label style="padding-left: 10px;">'.$field->title.'</label>' . $field->form . $variation . '<div class="clear"></div>'; } } } else { // INPUT TEXT foreach( $fields as $pos ) { foreach( $pos as $field ) { $value = @$values[$field->name]; $variat = @$variations[$field->name]; $variat = ( $variat == 'none' ) ? $variat = 'hidden' : $variat; // TODO: FIX TO REMOVE AFTER GA $variation = Jhtml::_( 'select.genericlist', $opts, 'variation_'.$field->name, 'size="1" class="inputbox variation_values" onchange="CCK_setOptions(\'variation\');"', 'value', 'text', $variat ); $html .= '<label style="padding-left: 10px;">'.$field->title.'</label>' . '<input class="live_values inputbox testinput" type="text" id="live_'.$field->name.'" name="live_'.$field->name.'" value="'.$value.'" onchange="CCK_setOptions(\'live\');" />' . $variation . '<div class="clear"></div>'; } } } } echo $html; ?>
Вложения:
Последнее редактирование: 11 года 8 мес. назад пользователем Maxim.

Пожалуйста Войти или Зарегистрируйтесь, чтобы присоединиться к беседе.