Новости Joomla

WT Yandex map items v.2.1.0 модуль для Joomla.Выводит материалы Joomla в виде меток на Яндекс.Карты

WT Yandex map items v.2.1.0 модуль для Joomla.Выводит материалы Joomla в виде меток на Яндекс.Карты

👩‍💻 WT Yandex map items v.2.1.0 модуль для Joomla.Выводит материалы Joomla в виде меток на Яндекс.Карты.v.2.1.0. Что нового?Сохранение последнего вида карты. Добавлены новые опции, позволяющие как для одного экземпляра модуля, так и для всех сохранять на устройстве пользователя последний использованный центр (координаты) и масштаб (zoom) карты. Это позволит открыть карту в том же месте после обновления страницы или при повторном открытии браузера.Определение местоположения пользователя.Модуль может определять местоположение пользователя и центрировать карту на нём. При одновременном использовании с функцией сохранения последнего вида карты определение геопозиции будет срабатывать только в первый раз. В дальнейшем, если обнаружены сохранённые данные центра и масштаба - будут использоваться они.CSS классы для маркеров карты.Всем маркерам карты добавлен CSS-класс wt-yandex-map-items-marker. Для просмотренных маркеров (по которым кликали) добавляется CSS-класс wt-yandex-map-items-marker-viewed, что позволит выделять просмотренные маркеры с помощью стилей в CSS-файлах вашего шаблона. Также для контейнеров маркеров ymaps на карте добавлены data-атрибуты: data-module-id - id модуля и data-marker-id - id маркера.Обработка GET-параметров в URL.Карта может реагировать на GET-параметры в url:- map[zoom] - устанавливает параметр масштаба.- map[center_latitude] и map[center_longitude] - широта и долгота центра карты.- map[marker_id] - id маркера, на котором центрируется карта.Таким образом вы можете создавать ссылку на карту с указанием конкретного маркера, на котором карта сфокусируется после загрузки маркеров. Например, https://site .ru/map?map[marker_id]=18465. Или же ссылку с указанием конкретных координат: https://site .ru/map?map[zoom]=16&map[center_latitude]=51.529706&map[center_longitude]=46.033922Страница расширенияGitHub расширенияВидео-обзор на YoutubeВидео-обзор на VK ВидеоВидео-обзор на Rutube@joomlafeed#joomla #yandex

Вышел Quantum Manager ver.3.2.1 и ver.2.0.5 — Релиз безопасности

Вышел Quantum Manager ver.3.2.1 и  ver.2.0.5 — Релиз безопасности

Вышел Quantum Manager ver.3.2.1 и ver.2.0.5 — Релиз безопасности.В последних версиях Quantum Manager устранены две уязвимости безопасности и исправлено несколько ошибок. Всем пользователям настоятельно рекомендуется обновиться до версии 3.2.1, чтобы обеспечить безопасность и актуальность установки.👩‍💻 Исправлены:1. XSS в SVG-файле. Запрещено выполнение встроенных в SVG скриптов.2. XSS по имени вредоносного файла. Больше никакого выполнения кода через имя файла.Поскольку эти проблемы влияют на безопасность сайта, мы подготовили две версии: одну для Joomla 5 и Joomla 4, а также дополнительную версию для Joomla 3 (предназначенную для устаревшего релиза Quantum Manager 2.0.4, для тех, кто все еще поддерживает сайты на Joomla 3).⚠️ Примечание: обновите Quantum Manager до версии 3.2.1 для Joomla 5 / Joomla 4 и установите Quantum Manager версии 2.0.5 для Joomla 3 (только исправления проблем безопасности).Команда NorrNext благодарит Joomla Security Strike Team и Joomla VEL Team за помощь в обнаружении и исправлении уязвимостей.Читать новостьСкачать@joomlafeed#joomla #расширения

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

passer

  • Завсегдатай
  • 1013
  • 75 / 3
Вместо $this->setRedirect(JRoute::_($uri));
Заглянул в api ничего не изменилось и память вроде не подвела.
$myvar = 'Урррряяяяяя';
$view = $this->getView('documc');
$view->assignRef('myvar', $myvar);
$view->display();
В виде смотрим
var_dump($myvar);
*

passer

  • Завсегдатай
  • 1013
  • 75 / 3
Отработает контроллер с именем, совпадающем с именем вьюхи.
Ну может быть. Только привык как-то, что в ссылке имя контроллера, а вид уже он определяет в зависимости от логики.
*

Aleks.Denezh

  • Живу я здесь
  • 3404
  • 428 / 4
Отработает контроллер с именем, совпадающем с именем вьюхи.
Неправильно! Если в контроллере не передана задача (task), а в таске не передан контроллер: controllerName.taskName то у вас запустится метод display() в дефолтном контроллере! Который банально отобразит нужную вам вьюху!


В одной вьюхе кнопка, по нажатию кнопки открывается другая, в нее передается параметр, на основании значения которого в вызываемой вьюхе отображаются данные.
Можно пример, как это реализуется в контроллере?
Не понял в чем проблема: echo JRoute::_('index.php?view=view_name&param1=1&param2=2&...&param999=999');
Банально создаете новую вьюху и к ней модель! в модели  новой вьюхи получаете эти данные из JInput получаете что вам надо из бд, дальше отображаете их в другом виде! Не надо запускать какие либо таски!
И контроллер тут совсем не надо трогать! Пускай выполняет дефолтный контроллер дефолтный task display() и выводит нужную вам вьюху!

Кстати тут 'index.php?view=documc' похоже компонент не указан.
Что произойдет?
А зачем указывать компонент?) Если через JRoute пустить ссылку то она сама поймет в каком она компоненте!
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Не понял в чем проблема: echo JRoute::_('index.php?view=view_name&param1=1&param2=2&...&param999=999');
Банально создаете новую вьюху и к ней модель! в модели  новой вьюхи получаете эти данные из JInput получаете что вам надо из бд, дальше отображаете их в другом виде! Не надо запускать какие либо таски!
И контроллер тут совсем не надо трогать! Пускай выполняет дефолтный контроллер дефолтный task display() и выводит нужную вам вьюху!
Ага, сейчас так и есть, во вьюхе loanc href="<?php echo JRoute::_('index.php?view=documc&loan='.$item->num.'&list='.$list); ?>", однако нужно, чтобы при открытии вьюхи documc в URL не светились передаваемые параметры: /credits/documc.html?loan=ЗВ/31/28.03.2013&list=c - убрать выделенное!
Допускаю, что заблуждаюсь, но сложилось впечатление (безосновательно), что если у вьюхи documc сьенить метод с get на post, то параметры из URL сами исчезнут. loanc изначально post.
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
Мне кажется зря ты берешся за практику не зная теории. Тем более с деньгами работаешь как я понял. Почитай о способе передачи данных http, займет может день, другой зато сразу все станет на свои места. Ничего сложно там нет но это основы, такие вещи надо знать..
интернет-блог: http://websiteprog.ru
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Вместо $this->setRedirect(JRoute::_($uri));
Это из контроллера убирать нельзя.

На 1 скрине вьюха loans: кнопка "Обновить данные" запускает обмен данными по ftp xml-файлами, с последующим импортом данных из XML, по окончании редирект обратно в loans
В таблицах каждая ячейка колонки "Договор" является кнопкой-ссылкой, в верхней таблице вызов вьюхи documc, в нижней - documd. Обоим передается в качестве параметра loan=№ договора.

На скрине 2 вьюха documc: Именно на основании переданного параметра loan= производится вывод всех данных, значение параметра используется при формировании запроса в getListQuery() и передается еще в две функции в модели.
Так как правильно вызвать documc и передать в нее параметры так, чтобы они не светились URL?


Мне кажется зря ты берешся за практику не зная теории. Тем более с деньгами работаешь как я понял. Почитай о способе передачи данных http, займет может день, другой зато сразу все станет на свои места. Ничего сложно там нет но это основы, такие вещи надо знать..
Читал, и много, только каши в голове стало больше. Теории везде много. практического примера не хватает.
« Последнее редактирование: 28.06.2014, 10:13:15 от AlekVolsk »
*

passer

  • Завсегдатай
  • 1013
  • 75 / 3
Учитывая что, как сказал Istaan, роутер сам определит компонент то примерно так.
<form action="<?php echo JRoute::_('index.php'); ?>" method="post" name="adminForm" id="adminForm" class="form-orizontal">
<input type="hidden" name="param1" value="<?php echo $param1; ?>" />
<input type="hidden" name="param2" value="<?php echo $param2; ?>" />
но это ж блин основы. Joomla-то причем. В роутинге только особенности. Да и то action="/index.php?option=my_component" думаю прекрасно сработает. js валидации формы не касаюсь. Впрочем тоже, смотрим в исходном коде страницы какой id просит для валидации такой и ставим id="myForm".
*

aspidy

  • Завсегдатай
  • 1008
  • 55 / 1
  • Миграция joomla 1.0-1.5-2.5
Цитировать
Читал, и много, только каши в голове стало больше. Теории везде много. практического примера не хватает.
В книге, высланной мной, в конце каждой главы практические примеры. Соберите один компонент по ней, все будет понятно. http://docs.joomla.org/J3.x:Developing_a_MVC_Component
Мелкий ремонт. skype poisk-plus
*

passer

  • Завсегдатай
  • 1013
  • 75 / 3
Не-а. Без знания основ все время управление терять будет. Joomla плане изучения основ не лучший вариант. Логика может оказаться и в модели и в странной прокладке view.html.php.
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Вот! И тут встает вопрос фильтрации во вьюхе documc. Если менять с get на post, реализация фильтрации делается через состояние модели. И это пока самая большая проблема.
*

passer

  • Завсегдатай
  • 1013
  • 75 / 3
Каким образом протокол передачи данных влияет на модель, да вообще на что нибудь, кроме источника их их получения. Да и тот в Joomla унифицирован классом JInput. С получением и валидацией вообще никаких проблем. А дальше через состояние модели или нет решай сам.
P.S.Пардон. Не протокол, метод.
« Последнее редактирование: 28.06.2014, 10:48:12 от passer »
*

Aleks.Denezh

  • Живу я здесь
  • 3404
  • 428 / 4
Каким образом протокол передачи данных влияет на модель, да вообще на что нибудь, кроме источника их их получения. Да и тот в Joomla унифицирован классом JInput. С получением и валидацией вообще никаких проблем. А дальше через состояние модели или нет решай сам.
P.S.Пардон. Не протокол, метод.
очень сильно влияет, ибо если форма будет через POST передаваться, то нужно будет хранить где то состояние смены каких то фильтров!

На скрине 2 вьюха documc: Именно на основании переданного параметра loan= производится вывод всех данных, значение параметра используется при формировании запроса в getListQuery() и передается еще в две функции в модели.
Так как правильно вызвать documc и передать в нее параметры так, чтобы они не светились URL?
Ну тут только так как писал passer загнать кнопку в форму с методом передачи данных POST
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
очень сильно влияет, ибо если форма будет через POST передаваться, то нужно будет хранить где то состояние смены каких то фильтров!
Ну тут только так как писал passer загнать кнопку в форму с методом передачи данных POST
С этим проблем нет. Проблема с состоянием модели. Я прошу помощи переделать фильтрацию на post
*

passer

  • Завсегдатай
  • 1013
  • 75 / 3
С реализацией состояния модели в Joomla не очень знаком и рискую получить сейчас в тыкву. Но. Состояние модели это же просто сессия. Уже само по себе хранилище данных.
Пришел поисковый запрос грубо '?method=serach&val1=158&val2='kuku'&val3='xz'....&val101=100500', get или post не важно.
В модели или контроллере как удобней.
if(isset($_GET['method']) && $_GET['method'] === 'serach'){
$model->setState('val1', $_GET['val1']);
$model->setState('val2', $_GET['val2']);
...
$model->setState('val101', $_GET['val101']);
}
и в запросе
'SELECT * FROM table WHERE field1 = '.$model->getState('val1').'....';
очень грубо на самом деле и валидация и цикл и обнуление состояния и в состояние наверняка массив загнать и получить потом можно, а не значения по отдельности, но разница будет только в получении if(isset($_POST['method']) && $_POST['method'] === 'serach')
Или я что-то не понимаю?
*

Aleks.Denezh

  • Живу я здесь
  • 3404
  • 428 / 4
Или я что-то не понимаю?
Общее все правильно!
Состояние на самом деле храниться банально в сессии!
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
Там весь геморой в том что данные надо получать из запроса или из сессии если запрос пуст. Там есть для этого метод специальный. Еще геморой в том что это все дело происходит неявно в каких то там методах которые модели наследуют (populatestate вроде так называются). И если все делать вручную то надо изучить эти методы и в них принимать / обрабатывать данные. Да и по моему в данном конкретном случае в сессии ничего хранить не надо так что вобще проблем не вижу никаких.

Прослойка veiw.htm.php действительно странная. Не встречал больше такого нигде. Обычно Вьюха идет под верстку все остальное делает модель. Видимо разработчики решили что модель получается слишком жирной.
« Последнее редактирование: 28.06.2014, 12:12:02 от zomby6888 »
интернет-блог: http://websiteprog.ru
*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
Там весь геморой в том что данные надо получать из запроса или из сессии если запрос пуст. Там есть для этого метод специальный. Еще геморой в том что это все дело происходит неявно в каких то там методах которые модели наследуют (populatestate вроде так называются). И если все делать вручную то надо изучить эти методы и в них принимать / обрабатывать данные. Да и по моему в данном конкретном случае в сессии ничего хранить не надо так что вобще проблем не вижу никаких.

Я так понимаю, что здесь необходимо использовать getUserStateFromRequest. И я не совсем понимаю, какая проблема с состоянием модели?

Цитировать
Прослойка veiw.htm.php действительно странная. Не встречал больше такого нигде. Обычно Вьюха идет под верстку все остальное делает модель. Видимо разработчики решили что модель получается слишком жирной.

View (представление) в Joomla очень тесно связано с моделью. Да, реализация отличается от других фреймворков, но в представлении ни в коем случае не должно быть никакой логики.
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Контроллер loans
Код: php
class MfoControllerLoans extends JControllerLegacy
{

  public function work()
  {
    $uri = JFactory::getURI();
    JSession::checkToken() or jexit(JText::_('JINVALID_TOKEN'));
    $input = JFactory::getApplication()->input;
    $wt = $input->getWord('worktype');
    if ($wt == 'ftpxml') { // кнопка "Обновить данные"
      $this->getModel('loans')->FtpXML();
      $this->setRedirect(JRoute::_($uri));
    } elseif ($wt == 'docum') { // вызов вьюхи docum*
      $view = $this->getView($input->getWord('viewname'));
      $view->assignRef('loan', $input->getWord('loan'));
      $view->assignRef('list', $input->getWord('list'));
      $view->display();
    }
  }

}
500 - Представление не найдено [name, type, prefix]: documc, , mfoView
Где ошибся?

[spoiler title=вьюха loans]
Код: php
<?php
defined('_JEXEC') or die;
JHtml::_('bootstrap.tooltip');
JHtml::_('jquery.framework');
$document = JFactory::getDocument();
$document->addStyleSheet('/media/com_mfo/css/com_mfo_front.css');

$ulogin = JFactory::getUser()->username;
$utoken = JSession::getFormToken();
$params = JComponentHelper::getParams('com_mfo');
$dcs = $params->get('mfo_decimal_separator', '.');
$ths = $params->get('mfo_thousands_separator', ' ');
if ($ths == '=') $ths = '';
$is_contributions = $params->get('mfo_is_contributions_columns', 0);

$lupdate = $this->get('LUpdate');

$loan_js = '
jQuery(function($) {
  UpdateData = function()
  {
    $("#loading").css("display", "block");
    $("input[name=worktype]").val("ftpxml");
    $("#adminForm").submit();
  };

  LoadView = function(viewname, loan, list)
  {
    $("#loading").css("display", "block");
    $("input[name=\'worktype\']").val("docum");
    $("input[name=\'viewname\']").val(viewname);
    $("input[name=\'loan\']").val(loan);
    $("input[name=\'list\']").val(list);
    $("#adminForm").submit();
  };
  
});

jQuery(document).ready(function($)
{
  var outerDiv = $(\'body\');
  $(\'<div id="loading"><div class="popup"><div class="loader"><div class="loader-label">'.JText::_('COM_MFO_FTP_UPDATE_POPUP', true).'</div></div></div></div>\').appendTo(outerDiv);
});';
$document->addScriptDeclaration($loan_js);
?>

<div id="mfo" class="clearfix" >
  <h1><?php echo JText::_('COM_MFO_H_LOANS'); ?></h1>
  <hr />
  <form action="?" method="post" name="adminForm" id="adminForm" class="form-horizontal">
    <div class="control-group">
      <div class="controls">
        <?php //echo '<span class="mfo-lupdate">'.JText::sprintf('COM_MFO_FTP_LASTUPDATE', JHtml::_('date', $lupdate, 'd').JText::_('COM_MFO_MONTH_'.JHtml::_('date', $lupdate, 'm')).JHtml::_('date', $lupdate, 'Y, H:i')).'</span>'; ?>
        <span class="mfo-lupdate"><?php echo JText::sprintf('COM_MFO_FTP_LASTUPDATE', JHtml::_('date', $lupdate, 'd.m.Y H:i')); ?></span>
      </div>
    </div>
    <div class="control-group">
      <div class="controls">
        <a class="btn btn-info mfo-bupdate" href="javascript:UpdateData()"><?php echo JText::sprintf('COM_MFO_FTP_UPDATE');?></a>
      </div>
    </div>

    <div class="control-group">
      <div class="controls">
        <h4><?php echo JText::_('COM_MFO_H_LOANS_C'); ?></h4>
        <table class="table table-bordered table-stripped table-hover">
          <thead>
            <tr>
              <th><?php echo JText::_('COM_MFO_TABLE_LOAN_ID'); ?></th>
              <th><?php echo JText::_('COM_MFO_TABLE_LOAN_NUM'); ?></th>
              <th><?php echo JText::_('COM_MFO_TABLE_LOAN_BDATE'); ?></th>
              <th><?php echo JText::_('COM_MFO_TABLE_LOAN_EDATE'); ?></th>
              <th><?php echo JText::_('COM_MFO_TABLE_LOAN_TERM'); ?></th>
              <th><?php echo JText::_('COM_MFO_TABLE_LOAN_PERCENT'); ?></th>
              <th><?php echo JText::_('COM_MFO_TABLE_LOAN_SM'); ?></th>
              <th><?php echo JText::_('COM_MFO_TABLE_LOAN_REST'); ?></th>
              <th><?php echo JText::_('COM_MFO_TABLE_LOAN_RESTS'); ?></th>
            </tr>
          </thead>
          <tbody>
            <?php if (count($this->items)) :
              $id_item = 0;
              foreach ($this->items as $i => $item) :
                if ($item->tp == 1) :
                  $id_item++; ?>
                  <?php $brd = $id_item == 1 ? ' top-brd' : ''; ?>
                  <tr>
                    <td class="hc<?php echo $brd; ?>"><?php echo $id_item; ?></td>
                    <td class="tb-btn<?php echo $brd; ?>"><a class="btn btn-mini hasTooltip" title="<?php echo JText::_('COM_MFO_TABLE_LOAN_HINT'); ?>" href="javascript:LoadView('Documc','<?php echo $item->num; ?>','')"><?php echo $item->num; ?></a></td>
                    <td class="hc<?php echo $brd; ?>"><?php echo JHtml::_('date', $item->bdate, 'd.m.Y'); ?></td>
                    <td class="hc<?php echo $brd; ?>"><?php echo JHtml::_('date', $item->edate, 'd.m.Y'); ?></td>
                    <td class="hc<?php echo $brd; ?>"><?php echo $item->term.JText::_('COM_MFO_TERM'); ?></td>
                    <td class="hr<?php echo $brd; ?>"><?php echo number_format($item->prc,4,'.',''); ?></td>
                    <td class="hr<?php echo $brd; ?>"><?php echo number_format($item->sm,2,$dcs,$ths); ?></td>
                    <td class="hr<?php echo $brd; ?>"><?php echo number_format($item->rest,2,$dcs,$ths); ?></td>
                    <?php
                      $rests = $item->arest+$item->prest+$item->srest;
                      if ($is_contributions) $rests += $item->crest;
                    ?>
                    <td class="hr <?php echo $brd; ?>"><?php echo number_format($rests,2,$dcs,$ths); ?></td>
                  </tr>
              <?php
                endif;
              endforeach;
              if ($id_item == 0) : ?>
                <tr><td colspan="9" class="top-brd"><?php echo JText::_('COM_MFO_TABLE_NO_DATA'); ?></td></tr>
              <?php
              endif;
            else : ?>
              <tr><td colspan="9" class="top-brd"><?php echo JText::_('COM_MFO_TABLE_NO_DATA'); ?></td></tr>
            <?php endif; ?>
          </tbody>
          <tfoot>
            <tr><td colspan="9" class="top-brd"></td></tr>
          </tfoot>
        </table>
      </div>
    </div>

    <div class="control-group">
      <div class="controls">
        <h4><?php echo JText::_('COM_MFO_H_LOANS_D'); ?></h4>
        <table class="table table-bordered table-stripped table-hover">
          <thead>
            <tr>
              <th><?php echo JText::_('COM_MFO_TABLE_LOAN_ID'); ?></th>
              <th><?php echo JText::_('COM_MFO_TABLE_LOAN_NUM'); ?></th>
              <th><?php echo JText::_('COM_MFO_TABLE_LOAN_BDATE'); ?></th>
              <th><?php echo JText::_('COM_MFO_TABLE_LOAN_EDATE'); ?></th>
              <th><?php echo JText::_('COM_MFO_TABLE_LOAN_TERM'); ?></th>
              <th><?php echo JText::_('COM_MFO_TABLE_LOAN_PERCENT'); ?></th>
              <th><?php echo JText::_('COM_MFO_TABLE_LOAN_SM'); ?></th>
              <th><?php echo JText::_('COM_MFO_TABLE_LOAN_PREST'); ?></th>
            </tr>
          </thead>
          <tbody>
            <?php if (count($this->items)) :
              $id_item = 0;
              foreach ($this->items as $i => $item) :
                if ($item->tp == 2) :
                  $id_item++; ?>
                  <?php $brd = $id_item == 1 ? ' top-brd' : ''; ?>
                  <tr>
                    <td class="hc<?php echo $brd; ?>"><?php echo $id_item; ?></td>
                    <td class="tb-btn<?php echo $brd; ?>"><a class="btn btn-mini hasTooltip" title="<?php echo JText::_('COM_MFO_TABLE_LOAN_HINT'); ?>" href="index.php?option=com_mfo&view=documd&loan=<?php echo $item->num; ?>"><?php echo $item->num; ?></a></td>
                    <td class="hc<?php echo $brd; ?>"><?php echo JHtml::_('date', $item->bdate, 'd.m.Y'); ?></td>
                    <td class="hc<?php echo $brd; ?>"><?php echo JHtml::_('date', $item->edate, 'd.m.Y'); ?></td>
                    <td class="hc<?php echo $brd; ?>"><?php echo $item->term.JText::_('COM_MFO_TERM'); ?></td>
                    <td class="hr<?php echo $brd; ?>"><?php echo number_format($item->prc,4,'.',''); ?></td>
                    <td class="hr<?php echo $brd; ?>"><?php echo number_format($item->sm,2,$dcs,$ths); ?></td>
                    <td class="hr<?php echo $brd; ?>"><?php echo number_format($item->prest,2,$dcs,$ths); ?></td>
                  </tr>
              <?php
                endif;
              endforeach;
              if ($id_item == 0) : ?>
                <tr><td colspan="8" class="top-brd"><?php echo JText::_('COM_MFO_TABLE_NO_DATA'); ?></td></tr>
              <?php
              endif;
            else : ?>
              <tr><td colspan="8" class="top-brd"><?php echo JText::_('COM_MFO_TABLE_NO_DATA'); ?></td></tr>
            <?php endif; ?>
          </tbody>
          <tfoot>
            <tr><td colspan="8" class="top-brd"></td></tr>
          </tfoot>
        </table>
      </div>
    </div>

    <div>
      <input type="hidden" name="type" value="" />
      <input type="hidden" name="worktype" value="" />
      <input type="hidden" name="viewname" value="" />
      <input type="hidden" name="loan" value="" />
      <input type="hidden" name="list" value="" />
      <input type="hidden" name="task" value="loans.work" />
      <?php echo JHtml::_('form.token'); ?>
    </div>
    
    <div class="mfo-lupdate"><?php echo 'Сессия: '.$utoken; ?></div>
  </form>
</div>
[/spoiler]
*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Код: php
$view = $this->getView($input->getWord('viewname'), 'html');
Так помогло, но в URL в конец добавился знак вопроса, после которого пусто. Это нормально?
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Во вьюхе documc метод post, появились следующие ошибки:
$ulogin = JFactory::getUser()->username; - Strict Standards: Only variables should be passed by reference
$params = JComponentHelper::getParams('com_mfo');  - Strict Standards: Only variables should be passed by reference

$item_loan = $this->get('LoanData'); - это ошибку не вызывает, но любое обращение к $item_loan->имя_поля возвращает Notice: Trying to get property of non-object
LoanData в модели: public function getLoanData() {return MfoHelper::DocumsLoanData();}
DocumsLoanData в хелпере:
Код: php
  public static function DocumsLoanData()
  {
    $ulogin = JFactory::getUser()->username;
    $input = JFactory::getApplication()->input;
    $loan = $input->getString('loan', '');
    $db = JFactory::getDbo();
    $query = $db->getQuery(true);     
    $query->select('bdate, edate, term, prc, sm, rest, arest, prest, crest, srest')
          ->from('#__mfo_loans')
          ->where('client = '.$db->quote($ulogin))
          ->where('num = '.$db->quote($loan));
    return $db->setQuery($query)->loadObject();
  }
Либо $input->getString('loan', ''); возвращает пустую строку либо функция вообще не выполняется.
*

AlekVolsk

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

passer

  • Завсегдатай
  • 1013
  • 75 / 3
По совокупности глюков в форме метод не изменил.
<form action="<?php echo JRoute::_('index.php'); ?>" method="post" name="adminForm" id="adminForm" class="form-orizontal">
у тебя method="get"
А Strict Standards это из ядра движка + php 5.4 + error_reporting = E_ALL
*

passer

  • Завсегдатай
  • 1013
  • 75 / 3
Попробуй юзера вызвать так.
$u = new JUser;
$ulogin =$u->getInstance()->username;
Уйдет Strict Standards: на него? Хотя можешь Class not found получить. Не помню надо ли подключение файла делать.
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
По совокупности глюков в форме метод не изменил.
<form action="<?php echo JRoute::_('index.php'); ?>" method="post" name="adminForm" id="adminForm" class="form-orizontal">
у тебя method="get"
Уже <?php echo JRoute::_('index.php'); ?> method="post"

Не туда смотрел, Strict Standards ругается на контроллер loans:
Код: php
      $view->assignRef('loan', $input->getWord('loan'));
      $view->assignRef('list', $input->getWord('list'));
т.е. параметры во вьюху не передаются, хотя во вьюхе имеются:
Код: html4strict
      <input type="hidden" name="loan" value="" />
      <input type="hidden" name="list" value="" />
*

passer

  • Завсегдатай
  • 1013
  • 75 / 3
Ну т.е. данные из формы не передаются в модель. Ищи где теряются.
В модели
public function getLoanData() {
var_dump($_POST);
return MfoHelper::DocumsLoanData();
}
есть что?
В хельпере
public static function DocumsLoanData()
{
var_dump($_POST);
....

есть что?
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
В контроллере loans:
      $loan = $input->getString('loan');
      $list = $input->getString('list');
      print_r($loan); // данные есть
      $view = $this->getView($input->getWord('viewname'),'html');
      $view->assignRef('loan', $loan);
      $view->assignRef('list', $list);
      $view->display();

Во вьюхе documc
По нажатии на кнопку javascript:alert($("input[name=loan]").val()); - пустая строка, в поле нет ничего!
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Ну т.е. данные из формы не передаются в модель. Ищи где теряются.
В модели
public function getLoanData() {
var_dump($_POST);
return MfoHelper::DocumsLoanData();
}
есть что?
В хельпере
public static function DocumsLoanData()
{
var_dump($_POST);
....

есть что?
тишина в обоих случаях.
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
В общем, в контроллере loans: $this->getView($input->getWord('viewname'),'html')->display(); - и все.
Во вьюхе documc:
$input = JFactory::getApplication()->input;
Код
$loan = $input->getString('loan', '');
$list = $input->getString('list', '');
...
<input type="hidden" name="loan" value="<?php echo $loan; ?>" />
<input type="hidden" name="list" value="<?php echo $list; ?>" />
По нажатии кнопки javascript:alert($("input[name=loan]").val()); - данные есть.
Делаю вывод, что не работает вызов $this->get('LoanData'), возможно (предположение), по причине того, что в вызове используется get, а форма post.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться