Форум русской поддержки Joomla!® CMS
06.12.2016, 12:18:54 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1] 2 3 4 5 6 7 8   Вниз
  Добавить закладку  |  Печать  
Автор

Обзор Gantry Framework

 (Прочитано 70217 раз)
0 Пользователей и 1 Гость смотрят эту тему.
al-teen
Support Team
*****

Репутация: +221/-10
Offline Offline

Пол: Мужской
Сообщений: 2460



« : 28.06.2012, 15:46:56 »

Фреймворк, разработанный клубом Rocket Theme, в частности Энди Миллером (глава проекта Mambo CMS - прародителя Joomla), для более легкой, удобной и быстрой кастомизации шаблонов Joomla. Не замыкаясь на использовании ограниченного разработчиками функционала (чем грешат многие аналогичные фреймворки), создан набор инструментов, позволяющий при минимуме усилий создавать современные шаблоны высокого уровня. Gantry не затрагивает системные библиотеки Joomla, а создает новый слой функций макета поверх существующих, что дает беспрецедентный уровень контроля гибкости.

Основные характеристики:

  • 1. 960 Grid System
  • 2. Поддержка Joomla CMS
  • 3. Интуитивно понятный, дружелюбный интерфейс администратора
  • 4. XML привод переопределения настроек, для создания гибкой конфигурации
  • 5. Возможность оригинальных настроек для любого пункта меню
  • 6. Пресеты любой комбинации параметров и сохранение пользовательских пресетов
  • 7. Встроенный расширяемый слой AJAX
  • 8. Поддержка языков RTL направления письма
  • 9. Встроенный функционал JS и CSS сжатия/оптимизации
  • 10. Оптимизиция кода для быстрой загрузки страниц
  • 11. Гибкая система сетки макета, предоставляющая контроль над размерами блоков
  • 12. По-умолчанию демо-шаблон имеет 65 базовых модульных позиций (Они не ограничены. При необходимости добавить свои позиции не составит труда.), 38 возможных комбинаций макета mainbody и боковых панелей (Опять же расширяется несложно), 4х колоночный макет (Аналогично - расширяемо)
  • 13. Многие встроенные функции, такие как настройки шрифтов, to-top, Google Analytics, IE6 предупреждение и т.д.
  • 14. Возможность создания пустой позиции модуля
  • 15. Гибкая система параметров с возможностью настройки параметров для URL, Cookie, сессии, пресетов и т.д. Любой параметр может быть настроен при помощи XML.)
  • 16. Бестабличный HTML
  • 17. Изменение типографики из админпанели
  • 18. Все параметры конфигурации сохранены в файлах с расширением .ini
  • 19. Автоматический контроль различных браузеров на уровне CSS и JS
  • 20. Mobile/iPhone функционал
  • 21. Возможность сброса всех настроек к настройкам по-умолчанию
  • 22. Диагностические Функции
  • 23. Оптимизация для backend
  • 24. Достаточно простой перенос шаблона со старых версий Joomla на новые

Для ознакомления качаем Gantry Framework последней версии и демо-шаблон rt_gantry. Устанавливаем на Joomla. Заходим в настройки шаблона.

  • 1. Overview - описание шаблона
  • 2. Style - Настройки стилей: выбор предустановленного стиля, цвет фона шапки, футера, mainbody, цвет ссылок и т.д.
  • 3. Features - Настройки предустановленных элементов
  • 4. Menu - Контроль меню с выбором, как типа меню, так и стиля
  • 5. Layouts - Настройка колонок макета. Можно использовать настройку фиксированных позиций (Force Positions)
  • 6. Mobile - настройки вида для мобильных устройств
  • 7. Advanced - системные настройки (GZip, RTL Support, Gantry Cache и т.д.)
  • 8. Assignments - привязка шаблона к пунктам меню
  • 9. Presets - в верхней части расположена панель пресетов, на которой можно выбрать уже существующий, так и создать свой собственный пресет

Естественно, разработчики отразили в демо-шаблоне не все возможности фреймворка. Можно даже сказать, что в нем как раз таки минимум. Но и он в достаточной мере отражает удобство использования Gantry. Нетривиальный внешний вид в панели настроек и простота использования. Достаточно низкий порог вхождения.

Из минусов могу назвать лишь нагрузку. Тяжеловат. Но это минус практически любого фреймворка шаблонов, в той или иной степени.

Со стороны пользователя разобрались, теперь давайте заглянем "под капот" GF, подойдем к рассмотрению со стороны разработчика шаблонов.
Итак, сам фреймворк - это библиотека, расширяющая собой стандартный функционал макета Joomla. Как писал выше, не заменяет собой стандартные библиотеки, а накладывается слоем поверх существующих настроек и обособлена только теми шаблонами, в которых используется. То бишь обычные шаблоны так и остаются обычными. Располагается в libraries/gantry. Для старых версий Joomla в components/com_gantry. Любая директория, в том числе и системные, поддается шаблонизации внутри tamlates/my_template. В виду сего переходим к самому шаблону, где и продолжим обзор.

Любая директория из libraries/gantry может быть изменена при помощи шаблонизации, например templates/rt_gantry/admin содержит в себе внешний вид и настройки админчасти шаблона. В данном шаблоне присутствуют лишь картинки пресетов и настройки всплывающих подсказок. Но при желании можно изменить или создать любой элемент, например изменить внешний вид Color Chooser (окошко выбора цвета), или же вообще его заменить на свой. Об этом поговорим ниже. Аналогичным образом можно изменить или расширить содержимое любой основной директории.

Кроме стандартных для шаблонов Joomla файлов, в шаблоне, основанном на GF присутствуют:

  • 1. gantry.config.php - содержит настройки пресетов и таких момментов, как: сообщения error ie, парсинг имен тэгов и вставка в них элементов "на лету"
  • 2. debugbody.php - для отладки функций шаблона
  • 3. template-options.xml - основная конфигурация шаблона
  • 4. template-overview.php - описание шаблона для Style - Overview
  • 5. tests.php - тестирование основных элементов

Давайте попробуем создать свой шаблон используя Gantry. Для начала подключим его в index.php:

Код:
<?php
// no direct access
defined( '_JEXEC' ) or die( 'Restricted index access' );

// load and inititialize gantry class
require_once('lib/gantry/gantry.php');
?>

В самом низу, после закрывающего </html> не забываем

Код:
<?php
$gantry->finalize();
?>

Для <head>

Код:
   <head>
        <?php
            $gantry->displayHead();
            $gantry->addStyles(array('template.css','joomla.css','style.css'));
        ?>
    </head>

Перечисляем свои CSS файлы. Остальное Фреймворк спарсит и выведет автоматически.
Если например в папке css/ шаблона будет лежать файл template-ie6.css, то он будет взят автоматически и выводиться только для браузеров IE6. Подобная концепция очень хорошо экономит время и силы.

Вывод модульных позиций в шаблоне схож с традиционной логикой Joomla. Например:

Код:
<body <?php echo $gantry->displayBodyTag(); ?>>
    <?php /** Begin Top **/ if ($gantry->countModules('top')) : ?>
    <div id="rt-top">
        <div class="rt-container">
            <?php echo $gantry->displayModules('top','standard','standard'); ?>
            <div class="clear"></div>
        </div>
    </div>
    <?php /** End Top **/ endif; ?>

$gantry->displayBodyTag(); используется для назначения и смены id путем замены параметров из панели администрирования шаблона. Метод захватывает все параметры шаблона, определенные с помощью templateDetails.xml. Он выведет их в формате PARAM_NAME-PARAM_VALUE. Далее може видеть комментарии, определяющие позицию top шаблона. Условие, при котором позиция будет отображена или скрыта в зависимости от наличия в ней содержимого. 'top','standard','standard' - displayModules(‘имя_позиции’,'тип_разметки_модуля’,'разметка_chrome’). разметка_chrome по стандартному образцу:

Код:
function modChrome_example($module, &$params, &$attribs) { ... } //для создания пользовательских позиций

Обратим внимание на вывод, аналогичный <jdoc:include type="component" />

Код:
<?php echo $gantry->displayMainbody('mainbody','sidebar','standard','standard','standard','standard','standard'); ?>

где

Код:
<?php echo $gantry->displayMainbody('mainbody','sidebar', sidebarchromelayout, contenttoplayoutname, contenttopchromename, contentbottomlayoutname, contentbottomchromename); ?>

Кроме самого mainbody, где выводятся type="component" и type="message", присутствует сайдбар в виде подключаемого виджета.

Файл templateDetails.xml содержит перечисление файлов шаблона, имен позиций, языковой файл и один единственный параметр, проверяющий наличие GF и при его отсутствии, выводящий предупреждение.

Код:
       <fields name="params">
            <fieldset name="base" addfieldpath="/templates/rt_gantry/fields">
                <field name="master" type="hidden" value="true" default="true"/>
                <field type="spacer" label="This template needs the &lt;a href='http://www.gantry-framework.org'&gt;Gantry Template Framework&lt;/a&gt;.  Please download and install from &lt;a href='http://www.gantry-framework.org'&gt;here&lt;/a&gt;"/>
            </fieldset>
        </fields>

Остальные параметры расположены в template-options.xml, давайте покопаемся в нем.
Все настройки заключены в контейнер <form name="template-options">...</form>. В остальном все аналогично стандартной логике Joomla. Все отличия заключаются в атрибутах основных тэгов. Через них назначаются элементы и их параметры. Например:

Код:
   <fieldset name="toolbar-panel" label="TOOLBAR">
        <field name="presets" type="preset" mode="scroller" default="preset1" setbyurl="true" setinoverride="false" panel_position="left" show_label="false"/>
    </fieldset>

Где:

  • type="preset" говорит о том, что выводится панель пресетов (в демо он расположен сверху).
  • setbyurl="true" разрешает/запрещает ссылку к заданнымым пресетам.
  • setinoverride="true" разрешает/запрещает редактировать заданные пресеты.
  • panel_position="left" определяет положение панели на странице.
  • show_label="false" разрешает/запрещает показывать название панели.

Как видите разобраться тут не сложно. Можно создавать свои панели, вкладки, элементы.

Выше мы разобрались как создать позицию модуля в index.php, теперь разберемся как это сделать в параметрах templateDetails.xml
Код для позиции top выглядит следующим образом:

Код:
<position>top-a</position>
<position>top-b</position>
<position>top-c</position>
<position>top-d</position>
<position>top-e</position>
<position>top-f</position>

То есть эта позиция состоит из 6ти колонок. Удобно, одной позицией можно создать полностью шапку или футер.

В template-options.xml данная позиция определена следующим образом:

Код:
<fields name="top" type="position" label="TOP_POS">
    <field name="layout" type="positions" default="5,7" label="">
        <schemas>1,2,3,4,5,6</schemas>
        <words>2,3,4,5,6,7,8,9,10</words>
    </field>
    <field name="showall" type="toggle" default="0" label="FORCE_POS"/>
    <field name="showmax" type="showmax" default="6" label="POS_COUNT"/>
</fields>

  • name — Имя позиции.
  • type — Тип.
  • default — Соотношение по-умолчанию.
  • label — Имя позиции, которое отображается в административной панели.

<field name="showall" type="toggle" default="0" label="FORCE_POS"/>
<field name="showmax" type="showmax" default="6" label="POS_COUNT"/>
Эти строки нужны для использования функции Фиксированные позиции (Force Positions).

Теперь о свистелках, перделках и прочих улучшайзерах и разширяйзерах. В Gantry по-умолчанию присутствуют следующие элементы:

  • 1. analytics - Google Analitics
  • 2. belatedPNG - костыль для отображения альфа-прозрачности в браузерах IE
  • 3. copyright - аналог стандартному footer
  • 4. date - вывод даты на сайте
  • 5. font-size - выбор размера шрифта
  • 6. fusionmenu - меню на js
  • 7. ie6menu - понятно без комментариев Azn
  • 8. ie6warn - предупреждение для ie6, проще говоря "заглушка"
  • 9. inactive - позволяет отключать шаблон на выбранных страницах
  • 10. iphonegradients - градиент css3, возможно использовать не только для настроек iPhone отображения
  • 11. iphoneimages - делает resize изображений
  • 12. jstools - содержит настройки js элементов
  • 13. logo - автоматически выводит изображение для логотипа. На мой взгляд бессмысленная фича, но в качестве примера пользовательского элемента сойдет. Ниже рассмотрим как его можно модифицировать
  • 14. morearticles - вывод по примеру "другие статьи"
  • 15. pagesuffix - суффикс страницы
  • 16. resetsettings - сброс пользовательских настроек для сайта
  • 17. rtl - текст RTL
  • 18. smartload - управление загрузкой страниц
  • 19. splitmenu - альтернативная менюшка
  • 20. styledeclaration - включение CSS стилей в блок <head>
  • 21. suckerfishmenu - снова менюшка
  • 22. systemmessages - системные сообщения
  • 23. totop - поднималка "наверх" для сайта
  • 24. touchmenu - менюшка для телефонов с touch дисплеем
  • 25. viewswitcher - отслеживает и переключает отображение в зависимостри от типа браузера
  • 26. webfonts - Google Web Fonts

Это то, что присутствует по-умолчанию. Но Gantry обладает гибким API, что позволяет создавать собственные, пользовательские элементы. Разберемся как это делается. Для начала немного документации.

В рамках Gantry используется термин функция, означает некоторый определенный функционал. Возможности достаточно гибкие, чтобы использовать для выполнения практически любой логики. Базовый класс GantryFeature содержит методы, которые могут быть реализованы для управления особенностями Вашей функции. Эти методы:

  • isEnabled() - Переключатель элемента в админ-панели, по-умолчанию включен. Вы можете изменить его согласно собственным требованиям и взаимодействия с пользовательским интерфейсом. Возвращает - boolean [True | False].
  • getPosition() - Положение в списке элементов. Вы так же можете его изменять. Возвращает - string [текущее position name].
  • isInPosition([string $position]) - метод для определения заданной позиции. Аргумент - [optional] string [position name, получает имя в сравнении с текущей позицией]. Возвращает - boolean [true | false], если текущая позиция такая же, как аргумент.
  • isOrderable() - метод, который по-умолчанию true, но может быть переопределен, если порядок этой позиции не имеет приоритета. Возвращает - boolean [true | false].
  • setPrefix(string $prefix) - устанавливает префикс параметров для работы с элементом. Аргумент - string [prefix name - Обычно имя основного параметра].
  • get($param [, $prefixed = true]) - получает параметры конфигурации данной функции. Также может взять префикс для расширенной спецификации. Аргумент - string [parameter name] Аргумент - [optional] boolean [true | false] Возвращает - mixed [текущее значение параметра].
  • init() - По-умолчанию пустой. Это основной метод инициализации функции. Используется для загрузки или инициализации.
  • render() - По-умолчанию пустой. Используется для вывода элемента в определенной позиции.
  • finalize() - По-умолчанию пустой. Вызывается в конце функции.

Все основные функции и любые пользовательские функции должны расширять класс GantryFeature. Чтобы создать новую функцию самостоятельно, вы просто должны создать новый файл в features/folder, который расширит класс GantryFeature. Он будет автоматически обработан в рамках Gantry.

/* За качество перевода не ручаюсь, буду благодарен редакции */

В качестве пособия создадим в templates/rt_gantry/features файл logo.php. В него запишем:

Код:
<?php

class GantryFeaturelogo extends GantryFeature { // объявляем класс GantryFeaturelogo расширяющий GantryFeature
var $_feature_name = 'headerlogo'; // объявим переменную headerlogo
    var $_autosize = false;
    
function render($position="") { // рендерим позицию для блока logo
        global $gantry;

   ob_start();
   ?>
<!-- блок logo в шаблоне -->
<div class="rt-block">
         <a href="<?php echo $gantry->baseUrl; ?>">
   <img src="<?php echo $this->buildLogo(); /* выводим результат обработки функции buildLogo() */ ?>" alt="" />
</a>
     </div>
   <?php
   return ob_get_clean();
}

/* функция пользовательского элемента headerlogo-image */

function buildLogo(){
        global $gantry;

        $logo = str_replace("&quot;", '"', str_replace("'", '"', $gantry->get('headerlogo-image')));
        $data = json_decode($logo);

        if (!$data){
            if (strlen($logo)) $source = $logo;
            else return "";
        } else {
            $source = $data->path;
        }
        if (substr($gantry->baseUrl, 0, strlen($gantry->baseUrl)) == substr($source, 0, strlen($gantry->baseUrl))){
            $file = JPATH_ROOT . DS . substr($source, strlen($gantry->baseUrl));
        } else {
            $file = JPATH_ROOT . DS . $source;
        }
        if (!preg_match('/^\//', $source))
        {
            $source = JURI::root(true).'/'.$source;
        }
        $path .= $source;
        $file = preg_replace('/\//i', DS, $file);

        return (file_exists($file))? $path : '';
    }
}

?>

Создадим в templates/rt_gantry/admin папку forms/, в ней imagepicker/ и imagepicker.php с:

Код:
<?php

defined('JPATH_BASE') or die();

gantry_import('core.config.gantryformfield');
class GantryFormFieldImagePicker extends GantryFormField {

    protected $type = 'imagepicker';
    protected $basetype = 'imagepicker';

function getInput(){
JHTML::_('behavior.modal');
global $gantry;

$value = str_replace("'", '"', $this->value);
$data = json_decode($value);
if (!$data && strlen($value)){
$nomargin = true;
$data = json_decode('{"path":"'.$value.'"}');
}
$preview = "";
$preview_width = 'width="50"';
$preview_height = 'height="50"';

if (!$data && (!isset($data->preview) || !isset($data->path))) $preview = $gantry->templateUrl . '/admin/forms/fields/imagepicker/images/no-image.jpg';
else if (isset($data->preview)) $preview = $data->preview;
else {
$preview = JURI::root(true). '/' . $data->path;
$preview_height = "";
}

if (!defined('ELEMENT_RTIMAGEPICKER')){
gantry_addStyle($gantry->templateUrl . '/admin/forms/fields/imagepicker/css/imagepicker.css');

gantry_addInlineScript("
if (typeof jInsertEditorText == 'undefined'){
function jInsertEditorText(text, editor) {
var source = text.match(/(src)=(\"[^\"]*\")/i), img;
text = source[2].replace(/\\\"/g, '');
img = '".JURI::root(true)."/' + text;

document.getElementById(editor + '-img').src = img;
document.getElementById(editor + '-img').removeProperty('height');
document.getElementById(editor).value = JSON.encode({path: text});
};
};
");

gantry_addInlineScript("
var AdminURI = '".JURI::base(true)."/';
var GalleryPickerInsertText = function(input, string, size, minithumb){
var data = {
path: string,
width: size.width,
height: size.height,
preview: minithumb
};

document.getElementById(input + '-img').src = minithumb;
document.getElementById(input + '-infos').innerHTML = data.width + ' x ' + data.height;
document.getElementById(input).value = JSON.encode(data);

};

var empty_background_img = '".$gantry->templateUrl."/admin/forms/fields/imagepicker/images/no-image.jpg';
window.addEvent('domready', function(){
document.id('".$this->id."').addEvent('keyup', function(value){
document.id('".$this->id."-infos').innerHTML = '';
if (!value || !value.length) document.id('".$this->id."-img').set('src', empty_background_img);
else {
var data = JSON.decode(value);
document.id('".$this->id."-img').set('src', (data.preview ? data.preview : '".JURI::root(true)."/' + data.path));
if (!data.preview){
document.id('".$this->id."-img').removeProperty('height');
} else {
document.id('".$this->id."-img').set('height', '50');
if (data.width && data.height) document.id('".$this->id."-infos').innerHTML = data.width + ' x ' + data.height;
}
}

this.setProperty('value', value);
});

document.id('".$this->id."-clear').addEvent('click', function(e){
e.stop();
document.id('".$this->id."').set('value', '').fireEvent('set', '');
});

var dropdown = document.id('".$this->id."mediatype');
if (dropdown){
dropdown.addEvent('change', function(){
document.id('".$this->id."-link').set('href', this.value);
});
}
});
");
            
            define('ELEMENT_RTIMAGEPICKER', true);
        }

        $link = "index.php?option=com_media&view=images&layout=default&tmpl=component&e_name=" . $this->id;

        $value = str_replace('"', "'", $value);
$layout .= '
<div class="wrapper">'."\n".'
<div id="' . $this->id . '-wrapper" class="backgroundpicker">'."\n".'
<img id="'.$this->id.'-img" class="backgroundpicker-img" '.$preview_width.' '.$preview_height.' alt="" src="'.$preview.'" />
<a id="'.$this->id.'-link" href="'.$link.'" rel="{handler: \'iframe\', size: {x: 675, y: 450}}" class="bg-button modal">'."\n".'
<span class="bg-button-right">'."\n".'
Select
</span>'."\n".'
</a>'."\n".'
<a id="'.$this->id.'-clear" href="#" class="bg-button bg-button-clear">'."\n".'
<span class="bg-button-right">'."\n".'
Reset
</span>'."\n".'
</a>'."\n".'

'.$dropdown.'

<input class="background-picker" type="hidden" id="' . $this->id . '" name="' . $this->name . '" value="' . $value . '" />'."\n".'
<div class="clr"></div>
</div>'."\n".'
</div>'."\n".'
';

return $layout;
}

}

?>

В папке imagepicker/ находятся изображения и стили для элемента.

В template-options.xml пишем:

Код:
<fields name="headerlogo" type="chain" label="HEADERLOGO">
    <field name="enabled" enabler="true" type="toggle" default="1" label="SHOW"/>
    <field name="position" type="position" translation="false" default="header-a" label="POSITION"/>
    <field name="image" type="imagepicker" label="PICKER" setinsession="true" setbysession="true" setincookie="true" setbycookie="true" />
</fields>

Архив с файлами прикладываю.

------------------------------------------------------------------------------------------------------------------------------------------------

В теме описаны лишь основные моменты в работе с Gantry Framework. Вся информация по адресу http://www.gantry-framework.org/documentation. Если где то в чем то ошибся, подсказывайте, с удовольствием исправлю.


P.S. Что выгодно отличает GF от аналогичных фреймворков, так это максимальная приближенность к структуре и логике Joomla. Нет этих сотен файлов, по которым раскиданы основные элементы и настройки шаблона. Структура задается все в том же index.php. Есть доступ ко всем настройкам. В работе сталкивался с большинством существующих шаблонных фреймворков. Политика большинства из них основывается на нехитрой фразе "Что дали то и ешь". Некоторые дошли до того, что путем шаблонизации вынесли в html/ шаблона ВСЕ стандартные элементы и переверстали согласно своим личным представлениям о качестве верстки. Другие используют index.php в качестве сборочного пункта, который ссылается на какой то иной файл лежащий непонятно где, ссылающийся в свою еще куда то. В других все настройки расположены внутри каких то системных файлов. Конечно, каждый имеет и свои плюсы, но GF на мой взгляд имеет их больше, нежели остальные. Если в него не внесли какие то элементы, которые требуются в отдельно взятом проекте, то их без особых трудов можно создать самому. Хотя чаще хватает и того что есть. В форуме кто то однажны мне заявил, что на GF невозможно выбирать из админки картинку для фона. Ну что я могу сказать, смотрите элемент header-image созданный выше. Получается что это не в фреймворке чего то нет, а фантазии у кого то может не хватать. Или просто лень разбираться. Но конечно не стоит забывать, что любая библиотека это не набор готовых решений, а инструмент. Рабочая среда призванная облегчить работу. Инструмент в руках разработчика, а не "волшебная кнопка" для лентяя, которая волшебным образом за него решает задачи и "прописывает код", в то время как он сам возит мышью по монитору. Так сказать, программирует мышью. И если рассматривать фреймворки лишь с точке зрения "в нем нет выбора фоновой картинки", то сколько их не перебирай, хорошего не отыщется. На Википедии есть точное определение. Свое мнение никому не навязываю, пусть каждый работает с тем, что ему больше нравится.


[вложение удалено Администратором]
« Последнее редактирование: 28.06.2012, 16:00:23 от smart » Записан
 
Alenka
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 4


« Ответ #1 : 20.07.2012, 18:47:08 »

al-teen, спасибо! Восхищаюсь!
Не принимайте за лесть, но как простая благодарность от новичка.
Буду пробовать, как говорится.
Описание, хотя и скуповато (сори, как для Новичка) но понятное.
Как раз только что попробовала этот фрэймворк, но что-то криво. По прочтении вашего мана решила, что по причине не установленного шаблона. Буду разбираться.
(Почему я не живу вечно и время для меня не бесконечно?)
Со своей позиции, новенького и донимающего всех вопросами, хотела бы попросить знающих, или просто понимающих чтобы выложили более подробный мануал по использованию 960Grid, или Gantry Framework.
В чём проблема?
Так в не знании основ HTML и CSS конечно... стыдно признавать, однако.
В сети нахожу подробные инструкции, но сори, за прямоту, часто авторы упускают детали.
А это ж время нужно чтобы разобраться... золотое))). Я немного отойду в сторону, лишь только для того чтобы меня лучше понимали. В инструкциях, часто пишут просто - вставить код такой-то. Но иногда упускают момент "в куда вставлять-то"? Ещё более часто не дают описания для Чего, Что значит этот код? Я думаю, что такие инструкции пишутся для чайников, профи и сами разберутся, и Чайники конечно за это Очень Благодарны. И мне не лень включать мозги, но без знания английского и инструкций на русском я иногда делаю такое... а какое такое? Вот именно! Я сама не знаю что делаю. Я не против метода проб и ошибок, но очень бы хотелось чтобы авторы мануалов постарались для таких несведущих, как я сделать свои творения более осмысленными и значимыми. Хочется чтобы они были настоящими уроками, а не примерами для внедрения. Ведь такие примеры годятся для тех, кто уже сам не плохо понимает что и как и для чего...
Спасибо за уроки, господа!
Записан
al-teen
Support Team
*****

Репутация: +221/-10
Offline Offline

Пол: Мужской
Сообщений: 2460



« Ответ #2 : 20.07.2012, 19:28:59 »

Alenka, для работы с фреймворками нужна какая то определенная база знаний. 960Grid - это набор CSS правил, для организации гибких макетов. Возможно кто то напишет мануал на русском по использованию, вероятно, что даже я. Но не в этой теме. Для работы с шаблонным фреймворком нужны знания хотя бы HTML и основных вех в создании шаблона для Joomla. Иначе это равносильно, когда не умея ездить на велосипеде, человек стремится оседлать двухколесный мотоцикл. Полного мануала нет даже на оф.сайте Gantry. Год назад там информации было даже меньше, чем здесь. Задавайте вопросы по деталям, Вас интересующим. С удовольствием ответим.
« Последнее редактирование: 20.07.2012, 19:40:56 от al-teen » Записан
Alenka
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 4


« Ответ #3 : 20.07.2012, 21:41:20 »

al-teen, спасибо за ваше желание помочь. Так ведь, ясное дело, что без основ никуда. Просто пока их осилишь... а время то тикает. Вопросов масса. Стеснительно донимать, авторов, так, как кажется, что не поймут и боязно, что ткнут в реальность - типа манов нет даже на оф сайте... Но вы ведь не на них ровняетесь?
Хотя по сути это не конкретно к вам относится, поскольку вы достаточно детально всё описали. Это я в целом. Теперь по существу:
Пока, как самое коробящее интересует вопрос о подключении своего шрифта для всех посетителей.
Ну, вы знаете сложности со шрифтами. У меня проблема в том, что в шапке сайта для названия компании я указываю свой шрифт. В других ОС и браузерах, у других пользователей словом, описание компании не просто не отображается в моём стиле, а уезжает на логотип. Как понять, какое семейство шрифтов указывать в альтернативе, когда нету моего ( только тестить?) и можно подключить на Joomla какой-нибудь конкретный шрифт?
Записан
al-teen
Support Team
*****

Репутация: +221/-10
Offline Offline

Пол: Мужской
Сообщений: 2460



« Ответ #4 : 20.07.2012, 22:23:51 »

Цитировать
26. webfonts - Google Web Fonts
Снова на примере болванки rt_gantry.

Для того, чтобы вставить свой нестандартный шрифт, пишем в template-options.xml
Код:
        <fields name="webfonts" type="chain" label="WEBFONTS">
            <field name="enabled" type="toggle" default="0" label="SHOW"/>
            <field name="source" type="selectbox" default="google" label="WEBFONTS_SOURCE">
                <option value="google">Google Font Directory</option>
            </field>
        </fields>
        <fields name="font" type="chain" label="FONT_SETTINGS">
            <field name="family" type="fonts" default="helvetica" label="FONT_FAMILY" isbodyclass="true" setbyurl="true" setinsession="true" setbysession="true" setincookie="true" setbycookie="true">
                <option value="geneva">Geneva</option>
                <option value="georgia">Georgia</option>
                <option value="helvetica">Helvetica</option>
                <option value="lucida">Lucida</option>
                <option value="optima">Optima</option>
                <option value="palatino">Palatino</option>
                <option value="trebuchet">Trebuchet</option>
            </field>
            <field name="size" type="hidden" default="default" setbyurl="true"/>
            <field name="size-is" type="selectbox" default="default" label="FONT_SIZE" setinsession="true"
                   setbysession="true" setincookie="true" setbycookie="true" isbodyclass="true">
                <option value="xsmall">F_XSMALL</option>
                <option value="small">F_SMALL</option>
                <option value="default">F_DEFAULT</option>
                <option value="large">F_LARGE</option>
                <option value="xlarge">F_XLARGE</option>
            </field>
        </fields>
Заходим в настройки шаблона, переключаем флажок на "ON", ниже, в выпадающем списке выбираем один из предложенных шрифтов.

Если в списке нас не устраивает ни один шрифт, к примеру в нем нет поддержки кириллицы, то заходим на Google Web Fonts, выбираем понравившийся шрифт. Затем идем в libraries/gantry/features, копируем файл webfonts.php и вставляем его в templates/rt_gantry/features. Открываем файл в текстовом редакторе, строка var $_google_fonts = array, после нее в скобках идет перечисление шрифтов. Вставляем скопированное название нашего шрифта туда (не забываем про кавычки). Идем ниже, строка $gantry->addStyle($mode.'://fonts.googleapis.com/css?family='.str_replace(" ","+",$font_family));, добавляем в конце, перед последней строчкой
Код:
.'&subset=latin,cyrillic'
или
Код:
.'&subset=latin,cyrillic-ext'
Что именно туда подставить смотрите там же, в ссылке Google fonts , которую он предоставляет для внедрения шрифта. Должна получиться подобная конструкция:
Код:
$gantry->addStyle($mode.'://fonts.googleapis.com/css?family='.str_replace(" ","+",$font_family).'&subset=latin,cyrillic');
Строчка в конце нужна для кириллического отображения шрифта.

Ну и старый дедовский способ, куда уж тут без него. Берем ссылку с Google fonts, открываем index.php шаблона и вставляем ее перед закрывающим тэгом </head>. Далее, где нужно, внедряем его путем:
Код:
font-family: 'Anonymous Pro', sans-serif;
Нужный блок опять же показывает Google fonts Ниже строчки 3. Add this code to your website:
. Разберетесь.
Записан
md_hedji
Осваиваюсь на форуме
***

Репутация: +3/-0
Offline Offline

Сообщений: 29


« Ответ #5 : 20.07.2012, 22:33:19 »

al-teen, очень хороший обзор спасибо!
Записан
Alenka
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 4


« Ответ #6 : 20.07.2012, 22:57:29 »

al-teen, спасиб. Я поняла и попробую.
А кроме Google фонтов, другой таким же способом внедряется или?
Извините, что пристала.
Записан
al-teen
Support Team
*****

Репутация: +221/-10
Offline Offline

Пол: Мужской
Сообщений: 2460



« Ответ #7 : 20.07.2012, 23:00:21 »

Другой - дедовским способом.
Записан
Trust-_-
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 5


« Ответ #8 : 14.08.2012, 12:39:30 »

Здравствуйте! Я в админ. панеле выбрал тип меню Split-menu. Подскажите где надо поправить код чтобы в Sub menu не отображался заголовок.
В сайдбаре у меня отображается вот так ,
надо убрать слово "Menu" ну или полностью заголовок.
Записан
Trust-_-
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 5


« Ответ #9 : 14.08.2012, 16:16:53 »

Нашёл как это сделать, если кому интересно, то надо редактировать в /templates/ваш_шаблон/html/modules.php
Цитировать
<div class="module-title"><h2 class="title"><?php echo $menu_title_item->name.' '.JText::_('Menu'); ?></h2></div>

соответственно стоит убрать .JText::_('Menu');  чтобы не отображалось слово MENU
Записан
talgautb
Осваиваюсь на форуме
***

Репутация: +8/-0
Offline Offline

Пол: Мужской
Сообщений: 100



« Ответ #10 : 15.09.2012, 01:53:50 »

а как регулировать подключение CSS и js удалением ?
Записан
al-teen
Support Team
*****

Репутация: +221/-10
Offline Offline

Пол: Мужской
Сообщений: 2460



« Ответ #11 : 15.09.2012, 12:45:45 »

Закидываете или удаляете файлы из папок CSS и js. Gantry автоматически парсит и выводит файлы из них.
Записан
talgautb
Осваиваюсь на форуме
***

Репутация: +8/-0
Offline Offline

Пол: Мужской
Сообщений: 100



« Ответ #12 : 15.09.2012, 18:44:11 »

Закидываете или удаляете файлы из папок CSS и js. Gantry автоматически парсит и выводит файлы из них.
написал, потом пошел и проверил)) но все же спасибо.
з.ы. что-то мне он не очень нравится)
а сам какие посоветуешь фреймворки? или как варианты?
Заранее спасибо Wink
Записан
al-teen
Support Team
*****

Репутация: +221/-10
Offline Offline

Пол: Мужской
Сообщений: 2460



« Ответ #13 : 15.09.2012, 21:14:59 »

Как варианты - обходиться без них. Это лучший вариант. Все, что делается с использованием FW, то делается и без них.
Записан
ABTOP
JComments Tester
*

Репутация: +33/-4
Offline Offline

Пол: Мужской
Сообщений: 481



« Ответ #14 : 21.09.2012, 05:44:33 »

Чем больше работаю с этой штуковиной, тем больше плююсь. Редкостная дрянь эта Гантря, причём на многих уровнях.

Вы заметили, что обновления выходят очень часто, да? Казалось бы - дело хорошее, разработчики оперативно устраняют глюки. А вы смотрели, что именно за глюки? Глюки такие, каких не должно было быть изначально. Но продукт надлежаще не тестируется, его выпускают "как ест" и ждут сообщений от пользователей о замеченных обвалах мозга.

Далее, совершенно кретинские дизайнерские решения. Примеров уйма, но вот возьмём самый дебильный.
Шаблон Grunge, бесплатненький, но кривусенький-прекривусенький. Есть в нём такой селектор .button, .validate он зачастую лепится на кнопки. в нём имеется такое свойство - width: 84px; То есть кнопка задаётся шириной в 84 пикселя. Казалось бы всё нормально, да? Проблема в том, что внутри кнопки живёт языковая константа, которая в зависимости от языка локализации может иметь различную длину и поэтому может не влезть в эти самые 84 пикселя, что и имеем в случае контактной формы практически на любом рускоязычном сайте - текст высовывается за пределы кнопки. Ну скажите мне, люди добрые, каким кретином надо быть чтобы задавать фиксированный размер элемента не имея ни малейшего преставления сколько букв понадобится в нём разместить?

Поехали дальше. Вышла четвёртая версия и уже даже пять исправлений к ней. Казалось, пора бы и поумнеть, но не судьба. Смотрим на циферки постраничной навигации, замечаем, что линкованные циферки слегка больше в размере, чем нелинкованные. Хм, да? Оказывается гении дизайна придумали и вставили в ядро Гантри такую фишку: ul li a {font-size: 1.2em; line-height: 1.8em;} То есть линки встречавшиеся в ненумерованных списках должны иметь этот определённый размер. А почему, собственно? С какой такой радости? Тем более, что размер текста для ul li в ядре никак не задан. В результате получаем практически стопроцентную вероятность различия размеров линкованного и нелинковонного текста. Даже на их демострационном сайте это явно заметно. В третьей версии такого не было, а вот теперь есть. Не иначе это фича.

Кстати, о фичах. Гантри даёт возможность писать свои собственные. Фича в их терминологии, это такой фантик, который можно настраивать централизовано через настройки шаблона, включать-выключать, цветом красить и т.д. Фалы этих фичей могут жить в двух места. Главное место - \libraries\gantry\features. Но можно ещё их переназначить, положив файлы в templates\siteTemplate\features. Понятно, что те фичи, которые в папке шаблона, будут доступны только для этого конкретного шаблона, а те, которые в библиотеке - для всех шаблонов. Пока всё путём и мы создали нашу собственную фичу для всех шаблонов и положили файл в библиотеку, чтобы все нашей фичей пользовались. А потом мы обновили Gantry. И что? А то, что библиотека обновителем напрочь удаляется и вместо неё пишется новая. Наша фича - тю-тю! Ну вот скажите мне, люди добрые, какой кретин додумается сносить при обновлении библиотеку, в которую он сам приглашает разработчиков добавлять файлы?

В третьей версии ещё была такая дурь, которую каждый раз приходилось вручную удалять. Для целого ряда заголовочных стилей, типа от H1 по H5, мудрилы придумали задавать глобальный кернинг - letter-spacing - ставили его прямо в ядро на -2px. Таким образом все заголовки, вне зависимости от размера штифта и гарнитуры уплотнялись на две пикселюхи. Выглядело дико - буквы наползали друг на друга, но все делали вид, что так и должно быть.

Короче, народ, держитесь подальше от этого творения.
« Последнее редактирование: 21.09.2012, 07:01:03 от ABTOP » Записан
al-teen
Support Team
*****

Репутация: +221/-10
Offline Offline

Пол: Мужской
Сообщений: 2460



« Ответ #15 : 21.09.2012, 12:08:29 »

Фиксированные размеры кнопки и кернинг - это все, чем Вы недовольны? И зачем ложить пользовательскую фичу в директорию \libraries\gantry\features? И даже если мы создадим в ней пользовательскую фичу с оригинальным именем, то при обновлении с ней ничего, абсолютно ничего не случится. Зачем что то создавать и менять в самом ядре, если есть шаблонизация?
« Последнее редактирование: 21.09.2012, 13:20:45 от al-teen » Записан
ABTOP
JComments Tester
*

Репутация: +33/-4
Offline Offline

Пол: Мужской
Сообщений: 481



« Ответ #16 : 21.09.2012, 13:44:14 »

Фиксированные размеры кнопки и кернинг - это все, чем Вы недовольны?
Это всё, что вы поняли?
И зачем ложить пользовательскую фичу в директорию \libraries\gantry\features? И даже если мы создадим в ней пользовательскую фичу с оригинальным именем, то при обновлении с ней ничего, абсолютно ничего не случится. Зачем что то создавать и менять в самом ядре, если есть шаблонизация?
Во-первых, в русском языке нет глагола "ложить".
Во-вторых, я вроде бы ясно написал зачем класть файл в папку библиотеки, что, кстати, не подпадает под понятие "менять в самом ядре". Цитирую себя: "Понятно, что те фичи, которые в папке шаблона, будут доступны только для этого конкретного шаблона, а те, которые в библиотеке - для всех шаблонов." Что не ясно?
Записан
al-teen
Support Team
*****

Репутация: +221/-10
Offline Offline

Пол: Мужской
Сообщений: 2460



« Ответ #17 : 21.09.2012, 14:32:27 »

Это всё, что вы поняли?Во-первых, в русском языке нет глагола "ложить".
Во-вторых, я вроде бы ясно написал зачем класть файл в папку библиотеки, что, кстати, не подпадает под понятие "менять в самом ядре". Цитирую себя: "Понятно, что те фичи, которые в папке шаблона, будут доступны только для этого конкретного шаблона, а те, которые в библиотеке - для всех шаблонов." Что не ясно?
Если честно, то я ничего не понял из Вашей тирады, кроме того, что Вы всем недовольны. Ну и хамства конечно же. Рассаказа о том, какие вокруг все придурки, а разработчики - больше всех... Сами Вы что то сделали, такой умный? Все то, чем Вы недовольны в данном фрэймворке - исправляется на уровне своего собственного шаблона. Если Вы еще этого не знаете, то сообщаю, что в ядре нет ничего, чего невозможно изменить на уровне шаблонизации. Или Вы из тех, кто неспособен ни на что больше, кроме как пользоваться предоставленными решениями? Как в артистере. В топике я русским по белому выделил, что фрэймворк не является набором готовых цацек - это в первую очередь API.
« Последнее редактирование: 21.09.2012, 14:38:43 от al-teen » Записан
ABTOP
JComments Tester
*

Репутация: +33/-4
Offline Offline

Пол: Мужской
Сообщений: 481



« Ответ #18 : 21.09.2012, 15:04:38 »

Если честно, то я ничего не понял из Вашей тирады, кроме того, что Вы всем недовольны. Ну и хамства конечно же. Рассаказа о том, какие вокруг все придурки, а разработчики - больше всех... Сами Вы что то сделали, такой умный? Все то, чем Вы недовольны в данном фрэймворке - исправляется на уровне своего собственного шаблона. Если Вы еще этого не знаете, то сообщаю, что в ядре нет ничего, чего невозможно изменить на уровне шаблонизации. Или Вы из тех, кто неспособен ни на что больше, кроме как пользоваться предоставленными решениями? Как в артистере. В топике я русским по белому выделил, что фрэймворк не является набором готовых цацек - это в первую очередь API.

Ели вы ничего не поняли, то зачем делать какие-то утверждения? Задавайте вопросы, я растолкую.

Я не недоволен всем, не надо передёргивать, это непродуктивно. Придурки вокруг тоже не все, а исключительно по теме, в данном случае - творцы из RocketTheme. Я совершенно не понимаю, зачем вы искажаете мои слова. А? Зачем?

"Что-то" пишется через чёрточку, ваш аргумент "Сами Вы что то сделали, такой умный?" из категории "Сначала достигни". Мне нет никакой необходимости "что то сделать", для того, чтобы иметь способность и право указать на чьи-то ошибки, но если вам шибко интересно, то простой поиск по форуму может в некоторой степени ответить на ваш вопрос.

Вы не правы относительно возможности исправить все просчёты, допущенные во фреймворке, на уровне шаблона. Иногда можно,а иногда невозможно. Кроме того, как-то глупо затыкать дыры фреймворка в шаблоне, не находите? В любом случае, детализация стилей до уровня кернирования или размера линков ни в коем случае не должна быть частью API. Это уместно в шаблоне, но никак не раньше. Поэтому решение внести такую детальную стилизацию и является дурью.

Никто не спорит с тем, что вы в "топике" специально выделили. Речь совершенно не том, чем является или не является "фрэймворк". Речь о том, что разработчики допускают концептуальные ошибки, которых, при трезвом понимании что такое API, быть не должно. Так что не воспринимайте мою критику на свой счёт, она к вам не относится. И пожалуйста, не переводите разговор на мою личность, а то и вашей достанется. Ближе к теме, если есть что сказать.
Записан
al-teen
Support Team
*****

Репутация: +221/-10
Offline Offline

Пол: Мужской
Сообщений: 2460



« Ответ #19 : 21.09.2012, 15:16:34 »

Если ближе к теме, то есть недоработки, обратное утверждать по меньшей мере глупо. Но мое предпочтение данному фрэймворку (именно Э, потому, что это транскрипция английской литеры "A" - Эй) отведено именно по той причине, что аналоги намного хуже. Растеребите Warp, удивитесь еще больше, это я Вам обещаю. В т3 недоработок тоже предостаточно, наряду с его массивностью. Так о чем тут можно говорить вообще? Это всего лишь инструменты, которые нужно использовать лишь в подходящих случаях. И такие случаи случаются весьма редко, обычно быстрее и удобнее обойтись без нагромождения шаблонных фрэймворков.
Записан
ABTOP
JComments Tester
*

Репутация: +33/-4
Offline Offline

Пол: Мужской
Сообщений: 481



« Ответ #20 : 21.09.2012, 15:58:54 »

В данном случае "А" это не литера, а просто буква. Литера - это кусок свинца с рельефом буквы, или, в общем случае, внешний вид буквы, как она нарисована. И умоляю вас - не рассказывайте мне про транскрипции, я в них понимаю больше вашего, особенно в транслитерациях.

Да, T3 весьма глючная, в Ворпе свои закидоны. Но какими глючными бы они ни были, их качество, или отсутствие такого, ни коим образом не отрицает моих утверждений о глючности Гантри. Я стараюсь хамить только по теме и в данном случае тема - Гантри. Можно поговорить о качестве всех более-менее заметных фреймворков и даже вспомнить про Gavik, но это будет иная тема, хотя и интересная.

Да, в общем случае, мне кажется, сделать просто шаблон было бы быстрее, чем сделать шаблон под тот или иной фреймворк. Однако есть всё-таки удобство быстрого изменения внешнего вида, даже если только некоторых цветов и даже если это будет сделано только раз в жизни сайта. Закавыка в том, что если делаете, скажем, компонент, который выводит что-либо на страницу, то вам в достаточной мере придётся приспосабливаться под те или иные фрейворки (или, по крайней мере, держать их ввиду), если вы хотите, чтобы ваша часть страницы выглядела хотя бы похоже на всё остальное. Такое приспосабливание тем легче, чем вразумительнее и логичнее построен сам фрейворк, в смысле API, но увы и ах, на сегодняшний день это почти не реализуемо. В результате имеем странную ситуацию: шаблоны распродают на ура и масса сайтов ими пользуется, а для разработчиков жизнь это никак не упрощает.
Записан
al-teen
Support Team
*****

Репутация: +221/-10
Offline Offline

Пол: Мужской
Сообщений: 2460



« Ответ #21 : 21.09.2012, 16:10:45 »

Весьма непростительно для столь образованного человека путатьТипографскую печатную матрицу, с обозначением буквы алфавита.

Ну вот потому и выбрал Gantry, как наименьшее зло.

Быстрая кастомизация шаблонов с несколькими стилями, возможность выбора стиля пользователем на стороне сайта и т.п. - это как раз и есть те случаи, когда рациональнее использовать фрэймворк.
Записан
ABTOP
JComments Tester
*

Репутация: +33/-4
Offline Offline

Пол: Мужской
Сообщений: 481



« Ответ #22 : 21.09.2012, 16:57:04 »

Весьма непростительно для столь образованного человека путатьТипографскую печатную матрицу, с обозначением буквы алфавита.
1. Буква (устар. и канц.).
Если бы вы были образованным, то вы бы знали, что означает "устар."
Называть букву литерой - чистой воды пижонство, причём пижонство позапрошлого века.
Записан
al-teen
Support Team
*****

Репутация: +221/-10
Offline Offline

Пол: Мужской
Сообщений: 2460



« Ответ #23 : 21.09.2012, 17:11:44 »

1. Буква (устар. и канц.).
Если бы вы были образованным, то вы бы знали, что означает "устар."
Называть букву литерой - чистой воды пижонство, причём пижонство позапрошлого века.
Ну да, мое образование весьма далекое от гумманитарных дисциплин. Вы называете науку письменности и ее терминологию пижонством? Ну тогда Вы настоящий гуманитарий. Кстати, наверное пижонством является и общепринятая терминология в программировании. Что то Вас явно не туда понесло.
« Последнее редактирование: 21.09.2012, 17:17:11 от al-teen » Записан
ABTOP
JComments Tester
*

Репутация: +33/-4
Offline Offline

Пол: Мужской
Сообщений: 481



« Ответ #24 : 22.09.2012, 00:19:47 »

Чё?

Я вас ещё раз прошу хамить по теме. Тема - Обзор Gantry Framework.
Записан
al-teen
Support Team
*****

Репутация: +221/-10
Offline Offline

Пол: Мужской
Сообщений: 2460



« Ответ #25 : 22.09.2012, 13:28:58 »

Это Я Вам оказывается тут хамлю? Ни разу не наоборот?
« Последнее редактирование: 22.09.2012, 14:33:39 от al-teen » Записан
Filipp-Alex
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 42


« Ответ #26 : 25.09.2012, 15:29:14 »

Уважаемые, хотел спросить, но у Вас тут такая крутая баталия....
Я не разработчик шаблонов. Я специалист в другой области. Мне, конечно, надо бы поглубже разобраться в php, но время, мать его... Хотелось бы чего-нибудь, что меньше придется подгонять под свои нужды. Остановился на Gantry (разработчик важного компонента в дорожной карте его поименовал, как основу), но сразу врюхался. Исправил все размеры шрифтов,  установил нужные размеры gridov, влез в прочие CSS и все было красиво, но обновился. И 2 недели работы накрылись медным тазом.
Сейчас восстанавливаюсь, но в libraries/gantry лезть боюсь, ищу как обойти ядро.
"В ядре нет ничего, чего невозможно изменить на уровне шаблонизации" - из Вашего поста. Не подскажите, куда можно кинуть рабочую копию gantry.css и grid.css и как на них сослаться, чтобы обновления не мучали?
Записан
al-teen
Support Team
*****

Репутация: +221/-10
Offline Offline

Пол: Мужской
Сообщений: 2460



« Ответ #27 : 25.09.2012, 18:16:30 »

Уважаемые, хотел спросить, но у Вас тут такая крутая баталия....
Я не разработчик шаблонов. Я специалист в другой области. Мне, конечно, надо бы поглубже разобраться в php, но время, мать его... Хотелось бы чего-нибудь, что меньше придется подгонять под свои нужды. Остановился на Gantry (разработчик важного компонента в дорожной карте его поименовал, как основу), но сразу врюхался. Исправил все размеры шрифтов,  установил нужные размеры gridov, влез в прочие CSS и все было красиво, но обновился. И 2 недели работы накрылись медным тазом.
Сейчас восстанавливаюсь, но в libraries/gantry лезть боюсь, ищу как обойти ядро.
"В ядре нет ничего, чего невозможно изменить на уровне шаблонизации" - из Вашего поста. Не подскажите, куда можно кинуть рабочую копию gantry.css и grid.css и как на них сослаться, чтобы обновления не мучали?
В css/ шаблона не работают разве? И что делали, если обновления так критично повлияли на Ваши предыдущие действия? Вообще то новая версия вполне совместима с шаблонами под версию предыдущую. В новой версии, кстати, добавили поддержку less. Редактировать теперь нужно файлы из одноименной папки шаблона. В ядро вообще лезть нет необходимости. Создаете в шаблоне папку, к примеру features, или же вообще копируете ее из ядра вместе со всем содержимым. Затем можете менять содержимое, как душе угодно. Аналогично и с остальными директориями. Шаблон не обновляется. Разве что это Ваш шаблон. Возможно Вы изменили сам демо-шаблон Gantry и он у Вас обновился. Переименуйте его. Вместе с папкой шаблона.
Записан
Sulpher
Практически профи
*******

Репутация: +385/-15
Online Online

Пол: Мужской
Сообщений: 2209


Шаблоны и расширения Joomla


« Ответ #28 : 25.09.2012, 18:32:54 »

Ребят, ну что за срач? АВТОР - написал бы в личку al-teen, спокойно все обсудили бы, орфографические ошибки поправили бы и было бы хорошо.
Записан
al-teen
Support Team
*****

Репутация: +221/-10
Offline Offline

Пол: Мужской
Сообщений: 2460



« Ответ #29 : 25.09.2012, 18:36:00 »

Жень, этот человек не за этим сюда зашел.
Записан
Страниц: [1] 2 3 4 5 6 7 8   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet