Новости Joomla

На сколько актуально делать сайт в 2025 году? Битва с нейросетями и выбор CMSНовый выпуск подкаста...

На сколько актуально делать сайт в 2025 году? Битва с нейросетями и выбор CMSНовый выпуск подкаста...

На сколько актуально делать сайт в 2025 году? Битва с нейросетями и выбор CMSНовый выпуск подкаста "Просто о Digital"Гость:🎙 Владимир Сергеенко ( https://t.me/aixman ) • Интернет-маркетолог с 14-летним опытом• Соавтор книги «Нетворкинг»• Спикер конференции Ассоциации директоров по развитиюВедущий:💻 Игорь Филипенко ( https://t.me/igorleee )• Программист и предприниматель с 16-летним опытом в digital• Основатель подкаста "Просто о Digital"• Специалист по автоматизации бизнес-процессовВ этом выпуске вы узнаете:🔥 Актуальность сайтов в эпоху нейросетей• Актуален ли сайт сейчас и будет ли актуален в будущем?• Зачем нужен сайт? Есть ли иные инструменты привлечения клиентов?🤖 Нейросети vs Поисковики vs Сайты• Почему нейросети не заменят сайты в B2B-сегменте• Как Google и Яндекс меняют алгоритмы из-за AI-конкуренции📊 Сайт как центр вселенной вашего трафика• Почему без сайта вы сливаете 40% маркетингового бюджета впустую?🛡 Безопасность и Joomla 6.0• Как отфильтровать 99% ботов и сэкономить на трафике• Почему Joomla теперь обходит WordPress в безопасности и скорости⚖️ Выбор платформы: битва CMS• WordPress: 50% рынка но 80% уязвимостей• Joomla: профессиональная CMS для сложных проектов• Drupal: почему его похоронили в 2023 году• Tilda: когда конструктор выгоднее CMSПриятного просмотра/прослушивания!RSS: https://cloud.mave.digital/61930Mave: https://igorfilipenko.mave.digitalЯндекс Музыка: https://music.yandex.ru/album/35840190Telegram Mave: https://t.me/mavestreambot/app?startapp=igorfilipenkoApple Podcasts: https://podcasts.apple.com/us/podcast/просто-о-digital-и-бизнесе/id1801903450ВКонтакте: https://vk.com/podcasts-12488584Youtube: https://www.youtube.com/playlist?list=PLfR6jTpnkohDDco32xZ-KyMyWi_S5Xdy2=========================Видео-формат подкаста:Rutube: https://rutube.ru/video/b5762754f9d3e0dc382f32f3034be0a2/Youtube: https://youtu.be/nu1XF2jNbxY#подкаст #podcast

0 Пользователей и 1 Гость просматривают эту тему.
  • 504 Ответов
  • 31698 Просмотров
*

Aleks.Denezh

  • Живу я здесь
  • 3404
  • 428 / 4
ну как видите как я и писал у вас выходит что данные не приходят..
сделайте форму методом get в action формы напишите "<?php echo JRoute::_('index.php')?>"

вместо этого:
<input type="hidden" name="type" value="" />
<input type="hidden" name="dtfrom" value="" />
<input type="hidden" name="dtto" value="" />
<input type="hidden" name="task" value="documc.work" />
<?php echo JHtml::_('form.token'); ?>

написать это:
<input type="hidden" name="option" value="com_mfo" />
<input type="hidden" name="view" value="documc" />
<input type="hidden" name="dtfrom" value="" />
<input type="hidden" name="dtto" value="" />
<input type="hidden" name="loans" value="<?php echo $loan; ?>" />
<input type="hidden" name="list" value="<?php echo $list; ?>" />

*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Теперь в полях дата стоит текущая и не меняется. Список операций пуст.
реквест:
Array ( [datepicker1] => 28.03.2013 [datepicker2] => 31.10.2013 [option] => com_mfo [view] => documc [dtfrom] => 28.03.2013 [dtto] => 31.10.2013 [loans] => ЗВ/31/28.03.2013 [ list] => 0 [967fe3561bf603f9721c965cd45d2a88] => 1 [format] => HTML [Itemid] => 128 )
*

Aleks.Denezh

  • Живу я здесь
  • 3404
  • 428 / 4
В смысле текущая? У вас же вот пришли даты 
[datepicker1] => 28.03.2013 [datepicker2] => 31.10.2013
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
т.о. данные теперь приходят:
    $dtfrom = JFactory::getApplication()->input->getString('dtfrom');
    $dtto = JFactory::getApplication()->input->getString('dtto');
    $dtmin = substr($dtfrom,6,4).'-'.substr($dtfrom,3,2).'-'.substr($dtfrom,0,2);
    $dtmax = substr($dtto,6,4).'-'.substr($dtto,3,2).'-'.substr($dtto,0,2);
    print_r('1:'.$dtmin.'<br />2:'.$dtmax.'<br />');

1:2013-03-28
2:2013-10-31
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Код: php
  protected function getListQuery()
  {
    $ulogin = JFactory::getUser()->username;
    $loan = JFactory::getApplication()->input->getString('loan', '');
    $dtfrom = JFactory::getApplication()->input->getString('dtfrom');
    $dtto = JFactory::getApplication()->input->getString('dtto');
    $dtmin = substr($dtfrom,6,4).'-'.substr($dtfrom,3,2).'-'.substr($dtfrom,0,2);
    $dtmax = substr($dtto,6,4).'-'.substr($dtto,3,2).'-'.substr($dtto,0,2);
    print_r('1:'.$dtmin.'<br />2:'.$dtmax.'<br />');
    //print_r($_REQUEST);

    $db = JFactory::getDBO();
   
    if (!$dtmin or !$dtmax) {
      $query = 'select min(odate), max(odate) from #__mfo_docums where (client = '.$db->quote($ulogin).') and (loan = '.$db->quote($loan).')';
      $item = $db->setQuery($query)->loadRow();
      $dtmin = $item[0];
      $dtmax = $item[1];
    }

    $query = $db->getQuery(true);
    $query->select('odate, docname, adebet, acredit, pdebet, pcredit, cdebet, ccredit, sdebet, scredit');
    $query->from('#__mfo_docums');
    $query->where('client = '.$db->quote($ulogin));
    $query->where('loan = '.$db->quote($loan));
    $query->where('odate >= '.$db->quote($dtmin));
    $query->where('odate <= '.$db->quote($dtmax));
    $query->order('odate, id');
    return $query;
  }

А после сабмита  в полях по факту текущая дата, вывод таблицы - пустой, хотя даты в запрос пришли, и они корректны:
1:2013-03-28
2:2013-10-31
*

Aleks.Denezh

  • Живу я здесь
  • 3404
  • 428 / 4
Кстати зачем вам это UpdateFilter = function()
  {
    var form = document.getElementById('adminForm');
    jQuery('#loading').css('display', 'block');
    form.dtfrom.value = form.datepicker1.value;
    form.dtto.value = form.datepicker2.value;
    form.submit();
  };
и это

<input type="hidden" name="dtfrom" value="" />
<input type="hidden" name="dtto" value="" />
?!
Это же масло масляное в простонародье именуемое г о в н о кодом )
у вас же отсылается из фомры datepicker1 и datepicker2, зачем вы присваиваете их значения полям  
form.dtfrom.value = form.datepicker1.value;
form.dtto.value = form.datepicker2.value;
Принимайте сразу с datepicker1  или datepicker2, либо дайте datepicker1  имя dtfrom а datepicker2 имя dtto, и скрытые поля удалите!
*

Aleks.Denezh

  • Живу я здесь
  • 3404
  • 428 / 4
а если
 $query->where( 'odate  BETWEEN ' . $db->quote( $dtmin). ' AND ' . $db->quote( $dtmax) )
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Ошибка была здесь
<input type="hidden" name="loan" value="<?php echo $loan; ?>" />
name=loan, а не loans :)

Сейчас скрипт служит скорее для jQuery('#loading').css('display', 'block'); - показать выполнение какой-либо работы.

<input type="hidden" name="dtfrom" value="" />
<input type="hidden" name="dtto" value="" />
это нужно было для post, уже убрал

Цитировать
Принимайте сразу с datepicker1  или datepicker2, либо дайте datepicker1  имя dtfrom а datepicker2 имя dtto, и скрытые поля удалите!
Да, поправлю.
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
а если
 $query->where( 'odate  BETWEEN ' . $db->quote( $dtmin). ' AND ' . $db->quote( $dtmax) )
Тоже попробую, имхо. это быстрее работает (во всяком случае, на firebird выполняет это быстрее, не знаю, как мускул)
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
В общем, фильтр применяется, но в полях всегда отображаются значения $dtmin и $dtmax.
Решил ввести 2 скрытых доп.поля для хранения дат примененного фильтра, пытаюсь отобразить даты в основных видимых полях, но поля остаются пустыми, хотя фильтр работает, если в них выбрать даты:
Код: php
<?php
$loan = JFactory::getApplication()->input->getString('loan', '');
$list = JFactory::getApplication()->input->getString('list', '0');

$db =JFactory::getDBO();
$query = 'select min(odate), max(odate) from #__mfo_docums where (client = '.$db->quote($ulogin).') and (loan = '.$db->quote($loan).')';
$item_minmax = $db->setQuery($query)->loadRow();
$dtmin = $item_minmax[0];
$dtmax = $item_minmax[1];
?>

<script type="text/javascript">
  UpdateFilter = function()
  {
    var form = document.getElementById('adminForm');
    form.dtmin.value = form.dtfrom.value;
    form.dtmax.value = form.dtto.value;
    form.submit();
  };
</script>

  <form action="<?php echo JRoute::_('index.php'/*?option=com_mfo&view=documc&loan='.$loan.'&list='.$list*/); ?>" method="get" name="adminForm" id="adminForm" class="form-horizontal">
    <div>
      <input type="hidden" name="option" value="com_mfo" />
      <input type="hidden" name="view" value="documc" />
      <input type="hidden" name="loan" value="<?php echo $loan; ?>" />
      <input type="hidden" name="list" value="<?php echo $list; ?>" />
      <input type="hidden" name="dtmin" value="" />
      <input type="hidden" name="dtmax" value="" />
      <?php echo JHtml::_('form.token'); ?>
    </div>

    <div class="control-group">
      <div class="controls">
        <script>jQuery(function(){
          jQuery("#dtfrom").datepicker({dateFormat:"dd.mm.yy",changeMonth:true,changeYear:true,showButtonPanel:true,minDate:"<?php echo JHtml::_('date', $dtmin, 'd.m.Y'); ?>",maxDate:"<?php echo JHtml::_('date', $dtmax, 'd.m.Y'); ?>"});
          jQuery("#dtfrom").datepicker(jQuery.datepicker.regional["ru"]);
          if (jQuery("#dtmin").value == "")
            {jQuery("#dtmin").value = "<?php echo JHtml::_('date', $dtmin, 'd.m.Y'); ?>";}
          jQuery("#dtfrom").datepicker("setDate",jQuery("#dtmin").value);
          jQuery("#dtto").datepicker({dateFormat:"dd.mm.yy",changeMonth:true,changeYear:true,showButtonPanel:true,minDate:"<?php echo JHtml::_('date', $dtmin, 'd.m.Y'); ?>",maxDate:"<?php echo JHtml::_('date', $dtmax, 'd.m.Y'); ?>"});
          jQuery("#dtto").datepicker(jQuery.datepicker.regional["ru"]);
          if (jQuery("#dtmax").value == "")
            {jQuery("#dtmax").value = "<?php echo JHtml::_('date', $dtmax, 'd.m.Y'); ?>";}
          jQuery("#dtto").datepicker("setDate",jQuery("#dtmax").value);
        });</script>
        <div class="dt-filter">
          <span><?php echo JText::_('COM_MFO_FILTER_DT_1'); ?></span><input type="text" class="datepicker" name="dtfrom" id="dtfrom" readonly>
          <span><?php echo JText::_('COM_MFO_FILTER_DT_2'); ?></span><input type="text" class="datepicker" name="dtto" id="dtto" readonly>
          <span> <a href="javascript:UpdateFilter()">Применить фильтр</a></span>
        </div>
      </div>
    </div>
  </form>

При этом alert(jQuery("#dtmin").value) после сабмита формы показывает пустую строку, файрбаг показывает, что поле dtmin пустое, хотя в реквесте (из файрбага):
Array
(
    [option] => com_mfo
    [view] => documc
    [loan] => ЗВ/31/28.03.2013
    [ list] => 0
    [dtmin] => 01.06.2013
    [dtmax] => 31.10.2013

    [967fe3561bf603f9721c965cd45d2a88] => 1
    [dtfrom] => 01.06.2013
    [dtto] => 31.10.2013

    [Itemid] =>
)
и визуально dtfrom и dtto ничего не отображают...
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
В общем, теперь все упирается в js, в котором я не силен...
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
1.
Код
<input type="hidden" name="dtmin" value="" />
     <input type="hidden" name="dtmax" value="" />
тут никогда не отобразится значение т.к. Вы его не прописали.
2. jQuery("#dtmin").value пишется jQuery("#dtmin").val()
3. У инпутов выше нет идов чтобы искать их по ним в скрипте.
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
3. У инпутов выше нет идов чтобы искать их по ним в скрипте.
А я как идиот думал, что ищет по name...
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Код: html4strict
      <input type="hidden" name="dtmin" id="dtmin" value="" />
      <input type="hidden" name="dtmax" id="dtmax" value="" />
При первоначальном открытии вьюхи сода записываются первоначальные значения, но потом при сабмите не меняются почему-то, и в основные поля попадают первоначальные даты:

Код: javascript
  UpdateFilter = function()
  {
    var form = document.getElementById('adminForm');
    jQuery('#loading').css('display', 'block');
    form.dtmin.value = form.dtfrom.value;
    form.dtmax.value = form.dtto.value;
    form.submit();
  };
Код: php
    <div class="control-group">
      <div class="controls">
        <script>jQuery(function(){
          var form = document.getElementById('adminForm');
          jQuery("#dtfrom").datepicker({dateFormat:"dd.mm.yy",changeMonth:true,changeYear:true,showButtonPanel:true,minDate:"<?php echo JHtml::_('date', $dtmin, 'd.m.Y'); ?>",maxDate:"<?php echo JHtml::_('date', $dtmax, 'd.m.Y'); ?>"});
          jQuery("#dtfrom").datepicker(jQuery.datepicker.regional["ru"]);
          if (form.dtmin.value == "")
            {form.dtmin.value = "<?php echo JHtml::_('date', $dtmin, 'd.m.Y'); ?>";}     // здесь 28.03.2013, записывается при первоначальном открытии вьюхи
          jQuery("#dtfrom").datepicker("setDate",form.dtmin.value);                          // при сабмите должно записаться 01.06.2013, но остается 28.03.2013
          jQuery("#dtto").datepicker({dateFormat:"dd.mm.yy",changeMonth:true,changeYear:true,showButtonPanel:true,minDate:"<?php echo JHtml::_('date', $dtmin, 'd.m.Y'); ?>",maxDate:"<?php echo JHtml::_('date', $dtmax, 'd.m.Y'); ?>"});
          jQuery("#dtto").datepicker(jQuery.datepicker.regional["ru"]);
          if (form.dtmax.value == "")
            {form.dtmax.value = "<?php echo JHtml::_('date', $dtmax, 'd.m.Y'); ?>";} // здесь 31.10.2013, записывается при первоначальном открытии вьюхи
          jQuery("#dtto").datepicker("setDate",form.dtmax.value);                          // при сабмите должно записаться 01.10.2013, но остается 31.10.2013
        });</script>
        <div class="dt-filter">
          <span><?php echo JText::_('COM_MFO_FILTER_DT_1'); ?></span><input type="text" class="datepicker" name="dtfrom" id="dtfrom" readonly>
          <span><?php echo JText::_('COM_MFO_FILTER_DT_2'); ?></span><input type="text" class="datepicker" name="dtto" id="dtto" readonly>
          <span><a href="javascript:UpdateFilter()"> Применить фильтр </a></span>
        </div>
      </div>
    </div>

при этом в реквесте:
Array
(
    [option] => com_mfo
    [view] => documc
    [loan] => ЗВ/31/28.03.2013
    [ list] => 0
    [dtmin] => 01.06.2013
    [dtmax] => 01.10.2013
    [cf73849fb8a742224bfe14d766f2d08d] => 1
    [dtfrom] => 01.06.2013
    [dtto] => 01.10.2013
    [Itemid] =>
)

*

Aleks.Denezh

  • Живу я здесь
  • 3404
  • 428 / 4
А зачем вы значение по умолчанию пишете в форму?
*

fsv

  • Живу я здесь
  • 2781
  • 411 / 2
Тему не читал, только пару последних постов. Поэтому, возможно, "не в тему"...
Цитировать
// при сабмите должно записаться 01.06.2013, но остается 28.03.2013
Сабмит с перезагрузкой страницы? Тогда почему "должно"? При перезагрузке -
Цитировать
// здесь 28.03.2013, записывается при первоначальном открытии вьюхи
если данные c сервера, все опять "первоначально" , так что все правильно. Получайте в поле значение c JInput , если пусто, тогда с JHtml.

js-код... вы бы или на javascript или на jQuery, а то "трасянка"...
Веб-разработка: заказ. Только новая разработка.
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
А зачем вы значение по умолчанию пишете в форму?
пока сам не знаю. так лучше понять как работает (или как должно работать, по идее)

если данные c сервера, все опять "первоначально" , так что все правильно. Получайте в поле значение c JInput , если пусто, тогда с JHtml.
Так фильтр по данным применяется, и в реквесте видно, что данные в полях имеются нужные,  отображение кривое.

=======================

С Днем Победы!
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
js-код... вы бы или на javascript или на jQuery, а то "трасянка"...
Не знаю, как именно будет правильнее, потому и прошу здесь совета. В js я совсем не силен.
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
В общем, получил желаемое:

<?php
$dtfrom 
JFactory::getApplication()->input->getString('dtfrom''');
$dtto JFactory::getApplication()->input->getString('dtto''');

$db =JFactory::getDBO();
$query 'select min(odate), max(odate) from #__mfo_docums where (client = '.$db->quote($ulogin).') and (loan = '.$db->quote($loan).')';
$item_minmax $db->setQuery($query)->loadRow();
$dtmin $item_minmax[0];
$dtmax $item_minmax[1];
?>
  <form action="<?php echo JRoute::_('index.php'); ?>" method="get" name="adminForm" id="adminForm" class="form-horizontal">
    <div>
      <input type="hidden" name="dtmin" id="dtmin" value="<?php echo $dtfrom?>" />
      <input type="hidden" name="dtmax" id="dtmax" value="<?php echo $dtto?>" />
    </div>
    
    <div class="control-group">
      <div class="controls">
        <script>jQuery(function(){
          var form = document.getElementById('adminForm');
          jQuery("#dtfrom").datepicker({dateFormat:"dd.mm.yy",changeMonth:true,changeYear:true,showButtonPanel:true,minDate:"<?php echo JHtml::_('date'$dtmin'd.m.Y'); ?>",maxDate:"<?php echo JHtml::_('date'$dtmax'd.m.Y'); ?>"});
          jQuery("#dtfrom").datepicker(jQuery.datepicker.regional["ru"]);
          if (jQuery("#dtmin").val() == '') 
            {jQuery("#dtfrom").datepicker("setDate","<?php echo JHtml::_('date'$dtmin'd.m.Y'); ?>");} else
            {jQuery("#dtfrom").datepicker("setDate",jQuery("#dtmin").val());}
          jQuery("#dtto").datepicker({dateFormat:"dd.mm.yy",changeMonth:true,changeYear:true,showButtonPanel:true,minDate:"<?php echo JHtml::_('date'$dtmin'd.m.Y'); ?>",maxDate:"<?php echo JHtml::_('date'$dtmax'd.m.Y'); ?>"});
          jQuery("#dtto").datepicker(jQuery.datepicker.regional["ru"]);
          if (jQuery("#dtmax").val() == '') 
            {jQuery("#dtto").datepicker("setDate","<?php echo JHtml::_('date'$dtmax'd.m.Y'); ?>");} else
            {jQuery("#dtto").datepicker("setDate",jQuery("#dtmax").val());}
        });</script>
        <div class="dt-filter">
          <span><?php echo JText::_('COM_MFO_FILTER_DT_1'); ?></span><input type="text" class="datepicker" name="dtfrom" id="dtfrom" readonly>
          <span><?php echo JText::_('COM_MFO_FILTER_DT_2'); ?></span><input type="text" class="datepicker" name="dtto" id="dtto" readonly>
          <span> <a href="javascript:form.submit()">Apply filter</a></span>
        </div>
      </div>
    </div>
  </form>


Поля и при сабмите и при первоначальном открытии вьюхи отображают нужные даты.
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
В js две функции (рабочие - сам себе удивляюсь), где перемешаны и чистый js и jQuery:
Код: javascript
  UpdateFilter = function()
  {
    jQuery('#loading').css('display', 'block');
    var form = document.getElementById('adminForm');
    form.submit();
  };

  ClearFilter = function()
  {
    jQuery('#loading').css('display', 'block');
    var form = document.getElementById('adminForm');
    form.dtfrom.value = "<?php echo $dtmin; ?>";
    form.dtto.value = "<?php echo $dtmax; ?>";
    form.submit();
  };

Помогите, пожалуйста, все привести к jquery, чтобы без "трасянок"
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Одно во всем этом плохо: весь реквест в url видно, не есть хорошо всю начинку пользователю отображать
/loans.html?option=com_mfo&view=documc&loan=ЗВ%2F31%2F28.03.2013&list=0&dtmin=&dtmax=&30c18412e3ba8246cb847433f19c2a03=1&dtfrom=16.05.2013&dtto=11.09.2013
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
А в чем проблема перевести форму в post?
*

Aleks.Denezh

  • Живу я здесь
  • 3404
  • 428 / 4
Одно во всем этом плохо: весь реквест в url видно, не есть хорошо всю начинку пользователю отображать
/loans.html?option=com_mfo&view=documc&loan=ЗВ%2F31%2F28.03.2013&list=0&dtmin=&dtmax=&30c18412e3ba8246cb847433f19c2a03=1&dtfrom=16.05.2013&dtto=11.09.2013
Ну тогда переводить форму в POST и играться с setState
а если не хотите играться с setState то
1. убрать option=com_mfo если вы в этом компоненте делает любые запросы то он и так понимает что это и куда ему нужно!
2. view=documc написать роутер который это должен спрятать ..
3. dtmin, dtmax - пустые переменные, зачем они вообще?
4. 30c18412e3ba8246cb847433f19c2a03=1 - удалите из формы вашей JHTML::_('form.token') у этой опции другое назначение!

Если все правильно сделать то у вас должно остаться что то типа:
/loans.html?loan=ЗВ%2F31%2F28.03.2013&list=0&dtfrom=16.05.2013&dtto=11.09.2013 - а это уже не так страшно выглядит!
« Последнее редактирование: 10.05.2014, 10:15:46 от Istaan »
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
А в чем проблема перевести форму в post?
Проблема с умением играться с setState - просто не умею, но это только пока: имеется аналогичная вьюха, там просто вывод истории операций идет по другому типу договора, хотя данные из той же таблицы бд, там требуется аналогичная фильтрация по дате операции, вот и буду изучать вариант с post.
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
3. dtmin, dtmax - пустые переменные, зачем они вообще?
Не пустые:
Код: html4strict
      <input type="hidden" name="dtmin" id="dtmin" value="<?php echo $dtfrom; ?>" />
      <input type="hidden" name="dtmax" id="dtmax" value="<?php echo $dtto; ?>" />
Уберу эти поля - и в основных поля даты уже не отображаются. Возможно, немного не то и не так делаю, но пока добился работоспособности только так (пост #258).
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Код: html4strict
      <input type="hidden" name="dtmin" id="dtmin" value="<?php echo $dtfrom; ?>" />
      <input type="hidden" name="dtmax" id="dtmax" value="<?php echo $dtto; ?>" />
Убрал поля и выкрутился следующим образом:
Код: php
        <script>jQuery(function(){
          var form = document.getElementById('adminForm');
          jQuery("#dtfrom").datepicker({dateFormat:"dd.mm.yy",changeMonth:true,changeYear:true,showButtonPanel:true,minDate:"<?php echo JHtml::_('date', $dtmin, 'd.m.Y'); ?>",maxDate:"<?php echo JHtml::_('date', $dtmax, 'd.m.Y'); ?>"});
          jQuery("#dtfrom").datepicker(jQuery.datepicker.regional["ru"]);
          jQuery("#dtto").datepicker({dateFormat:"dd.mm.yy",changeMonth:true,changeYear:true,showButtonPanel:true,minDate:"<?php echo JHtml::_('date', $dtmin, 'd.m.Y'); ?>",maxDate:"<?php echo JHtml::_('date', $dtmax, 'd.m.Y'); ?>"});
          jQuery("#dtto").datepicker(jQuery.datepicker.regional["ru"]);
          <?php
            if ($dtfrom == '')
              {echo 'jQuery("#dtfrom").datepicker("setDate","'.$dtmin.'");';} else
              {echo 'jQuery("#dtfrom").datepicker("setDate","'.$dtfrom.'");';}
            if ($dtto == '')
              {echo 'jQuery("#dtto").datepicker("setDate","'.$dtmax.'");';} else
              {echo 'jQuery("#dtto").datepicker("setDate","'.$dtto.'");';}
          ?>
        });</script>

Не знаю только, на сколько так будет правильно, но получить значение php-переменной на js по другому не могу, да и возможно ли?



1. убрать option=com_mfo если вы в этом компоненте делает любые запросы то он и так понимает что это и куда ему нужно!
2. view=documc написать роутер который это должен спрятать ..
Как можно убрать option=com_mfo, если при сабмите формы оно само вставляется? До сабмита url: /component/mfo/?view=documc&loan=ЗВ/31/28.03.2013
А написать роутер самому пока слабо, отложил этот вопрос напоследок.
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
а если
 $query->where( 'odate  BETWEEN ' . $db->quote( $dtmin). ' AND ' . $db->quote( $dtmax) )
Работает, только сог-но спецификации ansi sql'92 все условие взял в скобки, да и текст запроса при отладке читабельнее:
Код: php
    $query->where('(client = '.$db->quote($ulogin).')');
    $query->where('(loan = '.$db->quote($loan).')');
    $query->where('(odate between '.$db->quote($dtmin).' and '.$db->quote($dtmax).')');
*

fsv

  • Живу я здесь
  • 2781
  • 411 / 2
В js две функции (рабочие - сам себе удивляюсь), где перемешаны ...
Код: php
$doc = JFactory::getDocument();
$jsByAlekVolsk = '
  jQuery(function($) {
    UpdateFilter = function() {
      $("#loading").css("display", "block");
      $("#adminForm").submit();
    };
    ClearFilter = function() {
      $("#loading").css("display", "block");
      $("#dtfrom").val( " '. $dtmin .' " );
      $("#dtto").val( " '. $dtmax .' " );
      $("#adminForm").submit();
    };
  });
';
$doc->addScriptDeclaration ($jsByAlekVolsk);
Опять тему не читал, много очень. Исходил из "автономности" этого вашего кода. Но это ведь не так. Поэтому наверняка что-то лишнее написал. Надеюсь, разберетесь, что куда.
Веб-разработка: заказ. Только новая разработка.
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
fsv, все работает, все как надо, премного благодарен, +
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
В компоненте, в /tables/, каждое объявление JTable должно быть в своем файле, или их можно объединить в один? Если первое, как правильно, по mvc называть имена файлов?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться