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

xDD

  • Захожу иногда
  • 300
  • 4 / 0
Re: Информация по написанию компонента
« Ответ #270 : 12.09.2010, 19:10:59 »
Вообще для сего это нужно $limitstart = $apl->getUserStateFromRequest($option.'limitstart', 'limitstart', 0);
?
*

xDD

  • Захожу иногда
  • 300
  • 4 / 0
Re: Информация по написанию компонента
« Ответ #271 : 12.09.2010, 19:17:56 »
Да и в нагрузку выходят 2 ошибки:
Notice: Undefined index: startTransition in C:\apache\test.ru\www\libraries\joomla\html\pane.php on line 287

Notice: Undefined index: startTransition in C:\apache\test.ru\www\libraries\joomla\html\pane.php on line 288
*

xDD

  • Захожу иногда
  • 300
  • 4 / 0
Re: Информация по написанию компонента
« Ответ #272 : 12.09.2010, 19:20:05 »
В этих строчках
$opt['display']       = (isset($params['startOffset']) && ($params['startTransition']))? (int)$params['startOffset'] : null ;
$opt['show']       = (isset($params['startOffset']) && (!$params['startTransition']))? (int)$params['startOffset'] : null ;
*

userxp

  • Живу я здесь
  • 2019
  • 403 / 6
  • Злой и ужасный бармалей
Re: Информация по написанию компонента
« Ответ #273 : 12.09.2010, 20:01:42 »
$option = JRequest::getCmd('option', '');

Вообще для сего это нужно $limitstart = $apl->getUserStateFromRequest($option.'limitstart', 'limitstart', 0);
$lmitstart|$limit сохраняются в куках для того, что бы при переходе между страницами списка сохранялись его параметры (первый элемент и кол-во на тсраницу)
Как правильно задавать вопрос службе технической поддержки  yes!
SGA CM 7.2.0 RC0 KANG Build GWK74 + s95allinonescript + CWM 5.0.2.6 + Modem XWKT3
*

xDD

  • Захожу иногда
  • 300
  • 4 / 0
Re: Информация по написанию компонента
« Ответ #274 : 18.09.2010, 21:59:16 »
Автор почему не продолжаем тему это же так интересно!!)
*

xDD

  • Захожу иногда
  • 300
  • 4 / 0
Re: Информация по написанию компонента
« Ответ #275 : 24.09.2010, 17:38:47 »
Везде где пишу  <?php echo $this->ct->имя поля БД;?> выходит ошибка
Notice: Trying to get property of non-object in C:\apache\test.ru\www\administrator\components\com_turnir_gen\views\turnir_gen\tmpl\default_form.php on line 36
Подскажите плз в чем дело? Точнее в чем дело то понятно, а как исправить нет(.
non-object это функция или это сама переменная ct?
*

SmokerMan

  • Гуру
  • 5293
  • 720 / 26
Re: Информация по написанию компонента
« Ответ #276 : 24.09.2010, 17:50:51 »
Точнее в чем дело то понятно, а как исправить нет(.
если было бы понятно, то таких бы вопросов не задавали.
Учите мат часть по PHP, что здесь еще можно ответить :)
*

xDD

  • Захожу иногда
  • 300
  • 4 / 0
Re: Информация по написанию компонента
« Ответ #277 : 27.09.2010, 18:09:01 »
Причем здесь мат часть  я сомневаюсь что в учебнике написано что если у вас при этом <?php echo $this->ct-> вылазиет ошибка
Notice: Trying to get property of non-object in C:\apache\test.ru\www\administrator\components\com_turnir_gen\views\turnir_gen\tmpl\default_form.php on line 36, то делайте то то.
Я понимаю если бы он писал Undefined property: turnir_genViewTurnir_gen::$ct in C:\apache\test.ru\www\administrator\components\com_turnir_gen\views\turnir_gen\tmpl\default_form.php on line 36
то это одно дело, но эта ошибка выходит только если в контроллере закоментить связку $view->assignRef('ct', $category);
Так что если у вас просто небыло желания отвечать, тогда лучше бы и ничего не писал.
*

userxp

  • Живу я здесь
  • 2019
  • 403 / 6
  • Злой и ужасный бармалей
Re: Информация по написанию компонента
« Ответ #278 : 27.09.2010, 18:20:03 »
non-object это функция или это сама переменная ct?
assignRef назначет линк на переменную (в данном случае $category)
и судя по характеру ошибки $category == NULL ибо на null назначить линк низзя
Как правильно задавать вопрос службе технической поддержки  yes!
SGA CM 7.2.0 RC0 KANG Build GWK74 + s95allinonescript + CWM 5.0.2.6 + Modem XWKT3
*

xDD

  • Захожу иногда
  • 300
  • 4 / 0
Re: Информация по написанию компонента
« Ответ #279 : 27.09.2010, 23:33:58 »
 $category  я так понимаю берется из модели при помощи  $model=$this->getModel(); из модели данные берутся при помощи
$category = $model->getCategory(). В самой модели getCategory берется из объекта класса
function getCategory()
    {
        /* Загружает данные категории если они еще не загружены в виде stdClass-ов*/
        if (!$this->_category)
        {
            $db =& $this->getDBO();
      $query = "SELECT * FROM ".$db->nameQuote('#__t_igra').
             " WHERE ".$db->nameQuote('id')." =  ".$this->_id ;
            $db->setQuery($query);
            $this->_category = $db->loadObject();
        }
        // выдаем данные как результат функции
        return $this->_category;
    }

Далее она просто присываивается переменной ct таким образом $view->assignRef('ct', $category);
вроде все как по примеру почему null?
*

Lex

  • Завсегдатай
  • 1615
  • 274 / 1
Re: Информация по написанию компонента
« Ответ #280 : 27.09.2010, 23:49:34 »
Ну дак поищи где данные то пропадают.
$model=$this->getModel();
var_dump ($model);
че покажет? Ну и по цепочке
$category = $model->getCategory();
var_dump ($category);
<?php var_dump ($this);?>
 <?php var_dump ($this->ct);?>
<?php  var_dump ($this->ct->имя поля БД);?>
Отлаживать скрипт надо чего гадать-то.
 

Жизнь заставила учиться.
В личке на вопросы не отвечаю.
*

xDD

  • Захожу иногда
  • 300
  • 4 / 0
Re: Информация по написанию компонента
« Ответ #281 : 28.09.2010, 00:49:50 »
Вот что получилось при var_dump ($model);

Код
object(turnir_genModelTurnir_gen)#111 (8) 
{ ["_spisok"]=> NULL ["_category"]=> NULL ["_categoryes"]=> NULL ["_id"]=> string(1) "1" ["_name"]=> string(10) "turnir_gen" ["_db"]=> &object(JDatabaseMySQL)#11 (19)
{ ["name"]=> string(5) "mysql" ["_nullDate"]=> string(19) "0000-00-00 00:00:00" ["_nameQuote"]=> string(1) "`" ["_sql"]=> string(74)
"SELECT                           template FROM jos_templates_menu WHERE client_id = 1 AND menuid = 0" ["_errorNum"]=>
int(0) ["_errorMsg"]=> string(0) "" ["_table_prefix"]=> string(4) "jos_" ["_resource"]=> resource(26) of type (mysql link) ["_cursor"]=> resource(80) of type
(Unknown) ["_debug"]=> int(0) ["_limit"]=> int(0) ["_offset"]=> int(0) ["_ticker"]=> int(0) ["_log"]=> array(0) { } ["_utf"]=> bool(true) ["_quoted"]=> array(0) { }
["_hasQuoted"]=> bool(false) ["_errors"]=> array(0) { } ["debug"]=> int(0) }
["_state"]=> object(JObject)#113 (2) { ["_errors"]=> array(0) { } ["task"]=> string(4) "edit" } ["_errors"]=> array(0) { } }

При  var_dump ($category); выдает просто NULL.
Куда рыть?
*

xDD

  • Захожу иногда
  • 300
  • 4 / 0
Re: Информация по написанию компонента
« Ответ #282 : 28.09.2010, 00:53:12 »
Вот это смущает ["_spisok"]=> NULL ["_category"]=> NULL ["_categoryes"]=> NULL
*

xDD

  • Захожу иногда
  • 300
  • 4 / 0
Re: Информация по написанию компонента
« Ответ #283 : 28.09.2010, 01:00:30 »
Если кому не сложно глянуть выкладываю то что получилось.


[вложение удалено Администратором]
*

Lex

  • Завсегдатай
  • 1615
  • 274 / 1
Re: Информация по написанию компонента
« Ответ #284 : 28.09.2010, 01:32:52 »
Ну и отлично, похоже баг в function getCategory(). Проверяй запрос для начала. Прогони его через phpMyAdmin, чистым SQL, без php наворотов.
Жизнь заставила учиться.
В личке на вопросы не отвечаю.
*

Motor

  • Осваиваюсь на форуме
  • 49
  • 0 / 0
Re: Информация по написанию компонента
« Ответ #285 : 29.09.2010, 15:52:10 »
Создал компонент категории + элементы. Нужно добавить фильтр select (как в "материалах"  по категориям). Элементов много, их нужно сортировать по типу.Как его можно реализовать?
*

Professor

  • Захожу иногда
  • 59
  • 10 / 0
Re: Информация по написанию компонента
« Ответ #286 : 29.09.2010, 17:32:12 »
Создал компонент категории + элементы. Нужно добавить фильтр select (как в "материалах"  по категориям). Элементов много, их нужно сортировать по типу.Как его можно реализовать?
Уже обещал, ещё раз пообещаю: на днях (сегодня-завтра) опишу, как это делать в этой теме
*

Motor

  • Осваиваюсь на форуме
  • 49
  • 0 / 0
Re: Информация по написанию компонента
« Ответ #287 : 29.09.2010, 17:50:34 »
Ок, спасибо. Буду следить.
*

Joker

  • Захожу иногда
  • 235
  • 3 / 0
Re: Информация по написанию компонента
« Ответ #288 : 29.09.2010, 18:40:07 »
прошу помощи в вопросе вызова функции глобально(переписываю компонент JMovies на 1.5 Native)

там везде в начале файла идет объявление всех переменных которые берутся из URL строки вот пример
Код
	$id         = intval(JArrayHelper::getValue($_REQUEST,"id",null));  - ид фильма
$Itemid     = intval(JArrayHelper::getValue($_REQUEST,"Itemid",null));   айтем ид
$catid      = intval(JArrayHelper::getValue($_REQUEST,"catid",null));   ид категории
$jmoviesid  = JArrayHelper::getValue($_REQUEST,"jmoviesid",null);
$suchstring = JArrayHelper::getValue($_REQUEST,"suchstring",null);
$sstring    = JArrayHelper::getValue($_REQUEST,"sstring",null);
    $task       = JRequest::getString('task');   переменная таск


потом как обычно идет обработка таска и разброска заданий по нему

Код
	switch ($task) {

case 'search': jm_search(); break;
case 'detail': jm_detail(); break;
и тд

ну и потом сразу ф-и

Код
   
 function jm_detail(){
        global $cinConfig,  $cmtname, $menu, $mainframe, $id, $Itemid, $option, $tempfolder; //вызвали глобально все что нам нужно
  echo $id;   // здесь всегда выводит НОЛЬ ? почему
}


для проверки делаю вот так

Код
    
case 'detail':                   echo $id;        jm_detail(); break;


перед выполнением ф-и переменная успешно видна а в ф-и нет
*

xDD

  • Захожу иногда
  • 300
  • 4 / 0
Re: Информация по написанию компонента
« Ответ #289 : 01.10.2010, 01:05:58 »
Ну и отлично, похоже баг в function getCategory(). Проверяй запрос для начала. Прогони его через phpMyAdmin, чистым SQL, без php наворотов.
Нашел ошибку все оказалось банально. Надо было в функции getcategory писать не id а свое ключевое поле. Спасибо за var_dump

Код
function getCategory()
    {
        /* Загружает данные категории если они еще не загружены в виде stdClass-ов*/
        if (!$this->_category)
        {
            $db =& $this->getDBO();
      $query = "SELECT * FROM ".$db->nameQuote('#__t_igra').
             " WHERE ".$db->nameQuote('num_ig')." =  ".$this->_id ;
            $db->setQuery($query);
            $this->_category = $db->loadObject();
        }
Вот только на странцие default_form почему то значение поле не выдает вроде правильно пишу
  <input class="text_area" type="text" name="Title" id="greeting" size="32" maxlength="250" value="<?php echo $this->ct->igr1;?>" />
Ну и все поля в том же формате.
*

Motor

  • Осваиваюсь на форуме
  • 49
  • 0 / 0
Re: Информация по написанию компонента
« Ответ #290 : 01.10.2010, 09:11:07 »
Посмотри что у тебя здесь лежит var_dump($this->_category);
*

xDD

  • Захожу иногда
  • 300
  • 4 / 0
Re: Информация по написанию компонента
« Ответ #291 : 05.10.2010, 16:48:08 »
Посмотри что у тебя здесь лежит var_dump($this->_category);
Если писать в самой модели
Код
   function getCategory()
    {
        /* Загружает данные категории если они еще не загружены в виде stdClass-ов*/
        if (!$this->_category)
        {
            $db =& $this->getDBO();
      $query = "SELECT * FROM ".$db->nameQuote('#__t_igra').
             " WHERE ".$db->nameQuote('num_ig')." =  ".$this->_id ;
            $db->setQuery($query);
            $this->_category = $db->loadObject();
        }
         var_dump($this->_category);
        // выдаем данные как результат функции
        return $this->_category;
    }
то выдает

Код
object(stdClass)#115 (13) { ["num_ig"]=> string(1) "1" ["igr1"]=> string(1) "1" ["ig1part1"]=> string(1) "3" 
["ig1part2"]=> string(1) "8" ["igr2"]=> string(1) "2" ["ig2part1"]=> string(1) "4" ["ig2part2"]=> string(1) "8"
 ["ig1schp1"]=> string(1) "0" ["ig1schp2"]=> string(1) "0" ["ig2schp1"]=> string(1) "1" ["ig2schp2"]=> string(1) "1"
["Ob_sch"]=> string(1) "0" ["id_turnira"]=> string(1) "1" }
тоисть данные видет

Если писать в контролере и в form_default то
Код
Notice: Undefined property: turnir_genController::$_category in C:\apache\test.ru\www\administrator\components\com_turnir_gen\controller.php on line 38
NULL

Что то не решает это проблемы.
*

xDD

  • Захожу иногда
  • 300
  • 4 / 0
Re: Информация по написанию компонента
« Ответ #292 : 05.10.2010, 17:01:40 »
Да и разве $this->_category это не есть $category = $model->getCategory()  в контроллере?
*

Motor

  • Осваиваюсь на форуме
  • 49
  • 0 / 0
Re: Информация по написанию компонента
« Ответ #293 : 05.10.2010, 22:27:21 »
Значит неправильно передаешь данные из вьюшки в шаблон. $view->assignRef('ct', $category); Посмотри что лежит в var_dump($category);
*

xDD

  • Захожу иногда
  • 300
  • 4 / 0
Re: Информация по написанию компонента
« Ответ #294 : 06.10.2010, 02:03:18 »
В var_dump($category) выходит
Код
object(stdClass)#116 (13) { ["num_ig"]=> string(1) "1" ["igr1"]=> string(1) "1" ["ig1part1"]=> string(1) "3" 
["ig1part2"]=> string(1) "8" ["igr2"]=> string(1) "2" ["ig2part1"]=> string(1) "4" ["ig2part2"]=> string(1) "8"
 ["ig1schp1"]=> string(1) "0" ["ig1schp2"]=> string(1) "0" ["ig2schp1"]=> string(1) "1" ["ig2schp2"]=> string(1) "1"
["Ob_sch"]=> string(1) "0" ["id_turnira"]=> string(1) "1" }
*

xDD

  • Захожу иногда
  • 300
  • 4 / 0
Re: Информация по написанию компонента
« Ответ #295 : 06.10.2010, 18:48:41 »
Кто нпибудь может поподробней рассказать о    $task = JRequest::getCmd('task');  а именно getCmd?
*

danik.html

  • Живу я здесь
  • 2650
  • 353 / 4
Re: Информация по написанию компонента
« Ответ #296 : 06.10.2010, 19:00:20 »
   /**
    * Fetches and returns a given filtered variable. The cmd
    * filter only allows the characters [A-Za-z0-9.-_]. This is
    * currently only a proxy function for getVar().
    *
    * See getVar() for more in-depth documentation on the parameters.
    *
    * @static
    * @param   string   $name      Variable name
    * @param   string   $default   Default value if the variable does not exist
    * @param   string   $hash      Where the var should come from (POST, GET, FILES, COOKIE, METHOD)
    * @return   string   Requested variable
    * @since   1.5
    */
   function getCmd($name, $default = '', $hash = 'default')
   {
      return JRequest::getVar($name, $default, $hash, 'cmd');
   }

гы, проще залесть в исходники и позырить самому че там к чему, чем шариться по документации, тем более что почити все функции там имеют описание..
【Мегапак Virtuemart:
 • метатеги (description,keywords)
 • заголовки (title)
 • красивые алиасы (чпу) без тормозов и дублей!
*

xDD

  • Захожу иногда
  • 300
  • 4 / 0
Re: Информация по написанию компонента
« Ответ #297 : 08.10.2010, 22:06:37 »
В том то и беда что много информации в разных местах не знаешь с чего начать
*

SmokerMan

  • Гуру
  • 5293
  • 720 / 26
Re: Информация по написанию компонента
« Ответ #298 : 09.10.2010, 01:01:14 »
В том то и беда что много информации в разных местах не знаешь с чего начать
начни с себя!
*

xDD

  • Захожу иногда
  • 300
  • 4 / 0
Re: Информация по написанию компонента
« Ответ #299 : 09.10.2010, 18:42:24 »
Это уже сделал.
Возник вопрос echo JHTML::_('select.booleanlist',  'published', 'class="inputbox"', $this->row->num_ig), где описываются классы что выводить радиокнопку, текстовое поле итд. 'class="inputbox" ?
         
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

При попытке войти в админку 404 ошибка компонента

Автор omezik

Ответов: 4
Просмотров: 2399
Последний ответ 31.08.2019, 22:41:46
от Taatshi
Вывод компонента в качестве модуля

Автор fMichail

Ответов: 4
Просмотров: 2969
Последний ответ 06.08.2014, 15:16:29
от anar4ik
Переменные, доступные из любого компонента

Автор Serjo_man

Ответов: 3
Просмотров: 1523
Последний ответ 03.02.2014, 05:22:00
от Arkadiy
Работа компонента Ninja RSS 1.1.11 на Joomla 1.5.26

Автор Adam.K

Ответов: 1
Просмотров: 1435
Последний ответ 16.12.2013, 21:26:31
от Adam.K
Доработка компонента - нужна помощь

Автор wfire

Ответов: 5
Просмотров: 1355
Последний ответ 24.09.2013, 13:17:28
от robert