Kalendarz i custom komponent - Strona 2
Strona 2 z 2 PierwszyPierwszy 12
Wyniki 11 do 16 z 16

Temat: Kalendarz i custom komponent

  1. #11
    Przeglądacz
    Dołączył
    20-03-2018
    Wpisy
    95
    Punkty
    7

    Domyślny

    Niestety program nie widzi setValue ani getValue, tak samo jak nie ma odniesienia do formularza, który jest w widoku.
    Szczerze to nie wiem ja to lepiej wyjaśnić...

    Obrazek 1 - Podstawowa data pobierana z pliku XML
    Obrazek 2 - Nadanie daty przez użytkownika
    Obrazek 3 - Ponownie data z XML + ukazanie wyników z query używając daty z Obrazek 2

    P.S Jak słąbo widac to mogę podesłac inaczej.

    Log1.jpgLog2.jpgLog3.jpg

  2. Pani Reklamowa
    Pani Reklamowa jest aktywna
    Avatar Panny Google

    Dołączył
    19-08-2010
    Skąd
    Internet
    Postów
    milion
    Pochwał
    setki
  3. #12
    Wyjadacz terra awatar
    Dołączył
    26-05-2017
    Skąd
    Wrocław
    Wpisy
    920
    Punkty
    87

    Domyślny

    Z widoków wnioskuję, że to jest zaplecze Joomla, więc jest prościej niż się wydaje. Wytłumacz w jaki sposób zrobiłeś filtry na daty, bo zdaje się, że to jest główny problem.
    Czy przerobiłeś ten kurs ? https://docs.joomla.org/J3.x:Develop...asic_Component

    Sprawdź czy masz wszystkie elementy w swoim komponencie
    https://joomla.stackexchange.com/que...and-pagination

  4. #13
    Przeglądacz
    Dołączył
    20-03-2018
    Wpisy
    95
    Punkty
    7

    Domyślny

    Tak, jest to zaplecze joomli.
    Wykorzystałem gotowy kod z git Joomli : https://github.com/Stevec4/Joomla-He...0the%20backend
    A następnie pobieram tylko dane z DB i je wyświetlam, natomiast filtry dodałem, jeśli dobrze pamiętam, jedynie do pliku XMP odpowiedzialnego za filtry.

    Cały plik XML:
    Kod:
    <?xml version="1.0" encoding="utf-8"?>
    <form>
        <fields name="filter">
            <field
                name="search"
                type="text"
                label="COM_BANNERS_SEARCH_IN_TITLE"
                hint="JSEARCH_FILTER"
                class="js-stools-search-string"
            />
            <field
                    name="date_start"
                    type="calendar"
                    label="Select Start date"
                    description=""
                    class="input-medium"
                    required="false"
                    filter="user_utc"
                    format="%Y-%m-%d %H:%M:%S"
                    default="00:00"
                    singleheader="true"
                    showtime="true"
                    timeformat="24"
                    todaybutton="true"
                    weeknumbers="true"
                    filltable="true"
                    minyear="-3"
                    maxyear="5"
            />
    
            <field
                    name="date_stop"
                    type="calendar"
                    label="Select End date"
                    description=""
                    class="input-medium"
                    required="false"
                    filter="user_utc"
                    format="%Y-%m-%d %H:%M:%S"
                    default="23:59"
                    singleheader="true"
                    showtime="true"
                    timeformat="24"
                    todaybutton="true"
                    weeknumbers="true"
                    filltable="true"
                    minyear="-3"
                    maxyear="5"
            />
    
            <field
                    name="published"
                    type="status"
                    label="JOPTION_SELECT_PUBLISHED"
    
                    description="JOPTION_SELECT_PUBLISHED_DESC"
                    onchange="this.form.submit();"
            >
                <option value="">JOPTION_SELECT_PUBLISHED</option>
            </field>
    
        </fields>
        <fields name="list">
            <field
                name="limit"
                type="limitbox"
                class="input-mini"
                default="25"
                label="COM_CONTENT_LIST_LIMIT"
                description="COM_PHPLOG_LIST_LIMIT_DESC"
                onchange="this.form.submit();"
            />
        </fields>
    </form>

  5. #14
    Wyjadacz terra awatar
    Dołączył
    26-05-2017
    Skąd
    Wrocław
    Wpisy
    920
    Punkty
    87

    Domyślny

    w pliku xml masz tylko elementy filtrowania, natomiast w modelu musisz stworzyć filtr i zapytania do filtra

  6. #15
    Przeglądacz
    Dołączył
    20-03-2018
    Wpisy
    95
    Punkty
    7

    Domyślny

    Dla pewności przesyłam cały kod z modelu
    Kod PHP:
    <?php
    /**
     * @package     Joomla.Administrator
     * @subpackage  com_phplog
     *
     * @copyright   Copyright (C) 2005 - 2019 Open Source Matters, Inc. All rights reserved.
     * @license     GNU General Public License version 2 or later; see LICENSE.txt
     */

    // No direct access to this file
    defined('_JEXEC') or die('Restricted access');

    /**
     * PhpLogList Model
     *
     * @since  0.3.5
     */
    class PhpLogModelPhpLogs extends JModelList
    {
        
    /**
         * Constructor.
         *
         * @param   array  $config  An optional associative array of configuration settings.
         *
         * @see     JController
         * @since   1.6
         */
        
    public function __construct($config = array())
        {
            if (empty(
    $config['filter_fields']))
            {
                
    $config['filter_fields'] = array(
                    
    'id',
                    
    'err_str',
                    
    'content',
                    
    'file',
                    
    'line',
                    
    'date_time',
                    
    'published',
                    
    'date_start',
                    
    'date_stop'
                
    );
            }

            
    parent::__construct($config);
        }

        
    /**
         * Method to build an SQL query to load the list data.
         *
         * @return      string  An SQL query
         */
        
    protected function getListQuery()
        {
            
    // Initialize variables.
            
    $db    JFactory::getDbo();
            
    $query $db->getQuery(true);

            
    // Create the base select statement.
            
    $query->select('*')
                  ->
    from($db->quoteName('log_php'));

            
    // Filter: like / search
            
    $search $this->getState('filter.search');

            if (!empty(
    $search))
            {
                
    $like $db->quote('%' $search '%');
                
    $query->where('content LIKE ' $like 'OR err_str LIKE ' $like 'OR file LIKE ' $like);
            }

            
    // Filter Published
            
    $published $this->getState('filter.published');

            if (
    is_numeric($published))
            {
                
    $query->where('published = ' . (int) $published);
            }
            elseif (
    $published === '')
            {
                
    $query->where('(published IN (0, 1))');
            }

            
    $session JFactory::getSession();

            
    $start_date $db->quote($this->getState('filter.date_start'));
            
    $stop_date $db->quote($this->getState('filter.date_stop'));


            if(
    $stop_date == '\'\''){
                
    $def_stop_date = new DateTime();
                
    $stop_date =  $def_stop_date->setTime(235959)->format('Y-m-d H:i:s');
            }

            if(
    $start_date !== '\'\'' && $stop_date !== '\'\''){
                
    $session->set('start_date'$start_date);
                
    $session->set('stop_date'$stop_date);
            }

            if((empty(
    $session->get('start_date')) && empty($session->get('stop_date'))) || ($session->get('start_date') == '\'\'' && $session->get('stop_date') == '\'\'')) {

                
    $def_start_date = new DateTime();
                
    $def_start_date->setTime(000001);

                
    $def_stop_date = new DateTime();
                
    $def_stop_date->setTime(235959);

                
    $session->set('def_start_date'$db->quote($def_start_date->format('Y-m-d H:i:s')));
                
    $session->set('def_stop_date'$db->quote($def_stop_date->format('Y-m-d H:i:s')));


                
    $query->where('date_time BETWEEN '.$session->get('def_start_date').' AND ' $session->get('def_stop_date') );

            }else{
                
    $query->where('date_time BETWEEN '$session->get('start_date') . ' AND ' $session->get('stop_date') );

            }
            return 
    $query;
        }

        public static function 
    getChartData(){
            
    $db JFactory::getDbo();
            
    $query $db->getQuery(true);

            
    $query->select('date_format(date_time,'$db->quote('%Y-%m-%d').') as date, count(id) as count')
                ->
    from('log_php')
                ->
    group('date_format(date_time,'$db->quote('%Y-%m-%d').')' )
                ->
    order('date_time ASC ');
            
    $db->setQuery($query);
            return 
    $db->loadObjectList();
        }
    }

  7. #16

Strona 2 z 2 PierwszyPierwszy 12

Podobne tematy

  1. Komponent do dodawania opinii z custom fields
    przez zorza na forum Rozszerzenia - problemy z obsługą, zarządzaniem
    Odpowiedzi: 1
    Ostatni post/autor: 05-11-2012, 13:59
  2. Problem z Custom Properties
    przez kubalobo na forum Rozszerzenia - problemy z obsługą, zarządzaniem
    Odpowiedzi: 0
    Ostatni post/autor: 25-04-2010, 23:54
  3. Custom backend
    przez jeras na forum Szablony, wygląd, formatowanie
    Odpowiedzi: 0
    Ostatni post/autor: 01-10-2009, 17:19
  4. DocMan + Custom Properties
    przez czyzio na forum Zasoby, plikownie,
    Odpowiedzi: 0
    Ostatni post/autor: 17-04-2009, 11:27
  5. Poprawiony plik sef.custom.php dla PL Remository
    przez keicaM na forum Administracja składnikami
    Odpowiedzi: 0
    Ostatni post/autor: 13-07-2007, 15:08

Reguły pisania

  • Nie możesz zakładać nowych tematów
  • Nie możesz dodawać wypowiedzi
  • Nie możesz dodawać załączników
  • Nie możesz poprawiać swoich postów
  •