• 2012 (3)
  • 2011 (51)
  • 2010 (38)
  • 2009 (36)
  • < września 2010 >
    Pn Wt Ś Cz Pt So N
        1 2 3 4 5
    6 8 9 10 11 12
    13 14 15 16 17 18 19
    20 21 22 23 24 25 26
    27 28 29 30      

    Weź udział!

    Logo konkursu Wolny Wybór

    wypróbuj

    Logo wielojęzycznego chatu

    : Home / blog / wpisy wg daty
    Wtorek, 07 września 2010

    Warning: file_get_contents(http://graph.facebook.com/http://youthcoders.net/blog/kalendarz.html): failed to open stream: HTTP request failed! HTTP/1.0 403 Forbidden in /var/www/old-yc/plugins/content/addthis.php on line 38
    Nowy rok szkolny - nowe rozdanie PDF Drukuj Napisz e-mail

    Warning: file_get_contents(http://graph.facebook.com/http://youthcoders.net/blog/kalendarz.html): failed to open stream: HTTP request failed! HTTP/1.0 403 Forbidden in /var/www/old-yc/plugins/content/addthis.php on line 38
    Wpisał %s Jan Jackowicz-Korczyński
    wtorek, 07 września 2010 08:23
    Blog / wpisy

    Odnośnie konieczności samokształcenia w zakresie IT zawsze mieliśmy 100% przekonanie, że bez tego nie ma postępu, ani rozwoju. Szczęśliwie osoby odpowiedzialne za kształtowanie nowego modelu edukacji 21 wieku coraz częściej podkreślają rangę edukacji pozaformalnej. Aktualnie koordynatorzy naszego projektu pracują intensywnie nad modyfikacją zasad naszego serwisu w kierunku optymalizacji jego funkcjonalności dla osobistego rozwoju każdego z uczestników serwisu. W najbliższych dniach upublicznimy informacje o tych innowacjach.

    Read more
    Zmieniony ( wtorek, 07 września 2010 09:56 )

    Joomla wolna od tabel HTML PDF Drukuj Napisz e-mail
    Wpisał %s Jan Jackowicz-Korczyński
    wtorek, 07 września 2010 07:33
    Joomla / Artykuły

    CMS Joomla w wersji 1.5.x powstała jeszcze w czasach (jak ten czas szybko biegnie), kiedy powszechnie używano tabel (znacznik <table>) do formatowania stron.  Do dzisiaj metody tej używa budowany ,,od zera'' w latach 1999-2000 przez doskonałych programistów PCSS portal Programu INTERKL@SA. (system w tamtych latach był prestiżowo innowacyjny, zbudowany w oparciu o servelety Javy, bazujący na Oracle pełnił  już wtedy rolę CMS-a z powszechnym dostępem do mechanizmów redakcyjnych.)

    Dopiero od niedawna formatowanie za pomocą tebel w tekście uznawane jest to za metodę niekorzystną, niewydajną, nieelastyczną i.... wiele innych NIE.... Praktycznie taka metoda formatowania tekstu na stronie jest zdeprecjonowana.

    Joomla 1.5 w wersji stabilnej i jej wszystkie uaktualnienia (obecnie na dzień dzisiejszy  v. 1.5.20) komponenty generujące treść strony na podstawie danych z bazy posługują się również metodą formatowania treści za pomocą tabeli. Za twozrenie tego kodu ten odpowiadają pliki komponentów z folderów /components/com_content/views/ 

    Gdyby ktoś chciał całkowicie pozbyć się tabel z kodu stron generowanych przez CMS Joomla powinien zmodyfikować pliki php z tego folderu. Dla osób znających php nie jest to żaden problem....

    Pewnie, gdyby nie powstająca wersja 1.6 systemu Joomla (na dzień dzisiejszy dostępna do testów v. 1.6 BETA 8) sam zająłbym się odpowiednią modyfikacją tych plików. Pewnie zresztą nie musiałbym tego robić, bo zrobili by to inni developerzy.

    Wersja 1.6 generuje treść już tylko na bazie formatowania przy pomocy CSS. Poniżej przykładowy kod pliku generującego treść artykułu z aktualnje wersji Beta Joomla 1.6:

    {codecitation class='brush:php'}

    <?php
    /**
     * @version        $Id: default.php 18568 2010-08-21 18:34:12Z ian $
     * @package        Joomla.Site
     * @subpackage    com_content
     * @copyright    Copyright (C) 2005 - 2010 Open Source Matters, Inc. All rights reserved.
     * @license        GNU General Public License version 2 or later; see LICENSE.txt
     */

    // no direct access
    defined('_JEXEC') or die;

    JHtml::addIncludePath(JPATH_COMPONENT.'/helpers');

    // Create shortcut to parameters.
    $params = $this->item->params;
    ?>
    <div class="item-page<?php echo $params->get('pageclass_sfx')?>">
    <?php if ($this->params->get('show_page_heading', 1)) : ?>
    <h1>
        <?php echo $this->escape($this->params->get('page_heading')); ?>
    </h1>
    <?php endif; ?>
    <?php if ($params->get('show_title')|| $params->get('access-edit')) : ?>
            <h2>
                    <?php if ($params->get('link_titles') && !empty($this->item->readmore_link)) : ?>
                    <a href="<?php echo $this->item->readmore_link; ?>">
                            <?php echo $this->escape($this->item->title); ?></a>
                    <?php else : ?>
                            <?php echo $this->escape($this->item->title); ?>
                    <?php endif; ?>
            </h2>
    <?php endif; ?>


    <?php if ($params->get('access-edit') ||  $params->get('show_print_icon') || $params->get('show_email_icon')) : ?>
            <ul class="actions">
            <?php if (!$this->print) : ?>
                    <?php if ($params->get('show_print_icon')) : ?>
                    <li class="print-icon">
                            <?php echo JHtml::_('icon.print_popup',  $this->item, $params); ?>
                    </li>
                    <?php endif; ?>

                    <?php if ($params->get('show_email_icon')) : ?>
                    <li class="email-icon">
                            <?php echo JHtml::_('icon.email',  $this->item, $params); ?>
                    </li>
                    <?php endif; ?>
                    <?php if ($this->user->authorise('core.edit', 'com_content.article.'.$this->item->id)) : ?>
                            <li class="edit-icon">
                                <?php echo JHtml::_('icon.edit', $this->item, $params); ?>
                            </li>
                        <?php endif; ?>
            <?php else : ?>
                    <li>
                            <?php echo JHtml::_('icon.print_screen',  $this->item, $params); ?>
                    </li>
            <?php endif; ?>
            </ul>
    <?php endif; ?>

        <?php  if (!$params->get('show_intro')) :
            echo $this->item->event->afterDisplayTitle;
        endif; ?>

        <?php echo $this->item->event->beforeDisplayContent; ?>

    <?php $useDefList = (($params->get('show_author')) OR ($params->get('show_category')) OR ($params->get('show_parent_category'))
        OR ($params->get('show_create_date')) OR ($params->get('show_modify_date')) OR ($params->get('show_publish_date'))
        OR ($params->get('show_hits'))); ?>

    <?php if ($useDefList) : ?>
     <dl class="article-info">
     <dt class="article-info-term"><?php  echo JText::_('COM_CONTENT_ARTICLE_INFO'); ?></dt>
    <?php endif; ?>
    <?php if ($params->get('show_parent_category') && $this->item->parent_slug != '1:root') : ?>
            <dd class="parent-category-name">
                <?php    $title = $this->escape($this->item->parent_title);
                        $url = '<a href="'.JRoute::_(ContentHelperRoute::getCategoryRoute($this->item->parent_slug)).'">'.$title.'</a>';?>
                <?php if ($params->get('link_parent_category') AND $this->item->parent_slug) : ?>
                    <?php echo JText::sprintf('COM_CONTENT_PARENT', $url); ?>
                    <?php else : ?>
                    <?php echo JText::sprintf('COM_CONTENT_PARENT', $title); ?>
                <?php endif; ?>
            </dd>
    <?php endif; ?>
    <?php if ($params->get('show_category')) : ?>
            <dd class="category-name">
                <?php     $title = $this->escape($this->item->category_title);
                        $url = '<a href="'.JRoute::_(ContentHelperRoute::getCategoryRoute($this->item->catslug)).'">'.$title.'</a>';?>
                <?php if ($params->get('link_category') AND $this->item->catslug) : ?>
                    <?php echo JText::sprintf('COM_CONTENT_CATEGORY', $url); ?>
                    <?php else : ?>
                    <?php echo JText::sprintf('COM_CONTENT_CATEGORY', $title); ?>
                <?php endif; ?>
            </dd>
    <?php endif; ?>
    <?php if ($params->get('show_create_date')) : ?>
            <dd class="create">
            <?php echo JText::sprintf('COM_CONTENT_CREATED_DATE_ON', JHTML::_('date',$this->item->created, JText::_('DATE_FORMAT_LC2'))); ?>
            </dd>
    <?php endif; ?>
    <?php if ($params->get('show_modify_date')) : ?>
            <dd class="modified">
            <?php echo JText::sprintf('COM_CONTENT_LAST_UPDATED', JHTML::_('date',$this->item->modified, JText::_('DATE_FORMAT_LC2'))); ?>
            </dd>
    <?php endif; ?>
    <?php if ($params->get('show_publish_date')) : ?>
            <dd class="published">
            <?php echo JText::sprintf('COM_CONTENT_PUBLISHED_DATE', JHTML::_('date',$this->item->publish_up, JText::_('DATE_FORMAT_LC2'))); ?>
            </dd>
    <?php endif; ?>
    <?php if ($params->get('show_author') && !empty($this->item->author)) : ?>
        <dd class="createdby">
            <?php $author = $params->get('link_author', 0) ? JHTML::_('link',JRoute::_('index.php?option=com_users&view=profile&member_id='.$this->item->created_by),$this->item->author) : $this->item->author; ?>
            <?php $author=($this->item->created_by_alias ? $this->item->created_by_alias : $author);?>
        <?php echo JText::sprintf('COM_CONTENT_WRITTEN_BY', $author); ?>
            </dd>
    <?php endif; ?>
    <?php if ($params->get('show_hits')) : ?>
            <dd class="hits">
            <?php echo JText::sprintf('COM_CONTENT_ARTICLE_HITS', $this->item->hits); ?>
            </dd>
    <?php endif; ?>
    <?php if ($useDefList) : ?>
     </dl>
    <?php endif; ?>

        <?php if (isset ($this->item->toc)) : ?>
            <?php echo $this->item->toc; ?>
        <?php endif; ?>

        <?php echo $this->item->text; ?>

        <?php echo $this->item->event->afterDisplayContent; ?>
    </div>

    {/codecitation}

    PODSUMOWANIE:
    Nic więc na siłę, jeśli niebawem problem będzie rozwiązany przez ludzi bardziej kompetentnych w sytuacji, kiedy już jest rozwiązywany. Poczekam i nie przeszkadza mi, że w serwisach jakie buduję na CMS JOOMLI pojawiają się znaczniki <table>.

    Inni zrobią to lepiej, a ja czas poświęcę na zrobienie czegoś dobrego, czego nie będzie jeśli tego nie zrobię. 

    Alternatywne postawy:

    • ja jestem lepszy od innych i u mnie nie będzie ,,takich numerów'' z tabelkami (strony niekomercyjne)
    • warto klientowi pokazać, że jestem lepszy od innych, pzrecież mi płaci... To nic, że siedę godzinami nad problemem rozwiązywanym przez innych - klient nie powinien tego wiedzić.... przecież mi płaci... (strony dla klienta)

    Szkoda, że nie zwraca się uwagi na te WAŻNIEJSZE elementy, jakie są najistotniejsze dla SENSU (!!!) i FUNKCJONALNOŚCI stron WWW od strony ich informacyjnej jaką mają spełniać.


    Ale powszechność obecności w sieci ,,wodotrysków'', ,,kolorowych jarmarków'', absurdów funkcjonalności dla SEO i powszechny, niefunkcjonalny  bałagan informacyjny to już inna bajka oraz dotyczy nie tylko Joomli.

    Warto będzie temu poświęcić osobne artykuły.

    Read more
    Zmieniony ( wtorek, 07 września 2010 10:08 )