Новости Joomla

Загадочный параметр $live_site в configuration.php Joomla

Загадочный параметр $live_site в configuration.php Joomla

👩‍💻 Загадочный параметр $live_site в configuration.php Joomla. Зачем он нужен?Давным-давно, когда Joomla ещё была маленькой, в неё внедрили параметр $live_site. В ней хранился домен текущего сайта на случай, если Joomla не могла его определить из-за неверной настройки сервера. Нужно это было для разных SEO-компонентов, для использования редиректов и т.д.Со временем для работы собственно сайта этот параметр перестал быть нужным. Уже в начале 2010-х стали встречаться рекомендации оставлять этот параметр пустым, дабы оный не привёл к лишним проблемам и путанице. Тем более, в web-админке нет места, где его можно указать или посмотреть его значение. Только в configuration.php, а туда смотрят не часто.Однако, параметр всё же остался в ядре Joomla. Зачем он нужен? А нужен он в 2-х случаях:- для работы класса Joomla\CMS\Uri\Uri, который часто используется в коде Joomla для работы методов

Uri::root() и
Uri::base(), а значит может влиять и на работу в том числе ajax-скриптов.- для работы Joomla в CLI - командной строке сервера. В случае если вы используете в вашем CLI-плагине методы опять-таки класса Uri, то CLI ничего не знает о текущем домене, так как запускается вне web-сервера. Поэтому домен нужно указывать принудительно. Либо с помощью параметра командной строки
--live-site, например,
—live-site=https://site.ru/. Со слешем на конце, иначе в CLI адрес сайта станет
https://site.rujoomla.php.Либо в параметре
$live_site в файле configuration.php, так как
CliApplication берёт настройку оттуда, если параметр команды не указан или пуст.⚠️ Иначе в качестве хоста и url класса Uri будет установлено
https://joomla.invalid/set/by/console/application. В самом же коде команды получить параметр
$live_site можно из объекта приложения

protected function doExecute(InputInterface $input, OutputInterface $output): int    {         //...              $live_site = $this->getApplication()->get('live_site');         //...    }
и исходя из этого строить дальнейшую логику.@joomlafeed#joomla #разработка #php #cli

Вышел плагин AllVideos v.7.0 от JoomlaWorks

Вышел плагин AllVideos v.7.0 от JoomlaWorks

Вышел плагин AllVideos v.7.0 от JoomlaWorks.Этот контент-плагин - одно из старейших расширений для Joomla. Его задача - преобразовывать шорт-коды вида

{YOUTUBE}...{/YOUTUBE},
{MP3}parth/to/file.mp3{/MP3} и подобные во встроенные видео или аудио.👩‍💻 v.7.0.0. Что нового?- Добавлена поддержка Youtube Shorts. Просто скопируйте полный url видео и вставьте его внутри тегов
{YOUTUBE}...{/YOUTUBE}.- Поддержка Joomla 5.x без плагина обратной совместимости. PHP 5, PHP 7, PHP 8. - Индексация умным поиском в CLI. В Joomla 5 плагин перестал вызывать ошибку при индексации контента умным поиском через CLI,Заметьте, что этот один и тот же пакет для всех версий Joomla, начиная с 1.5.x и заканчивая 5.x. Технически "под капотом" код плагина по сути не менялся, а для поддержки следующих версий Joomla авторы вставляют "заплатки". Плагин всё ещё использует старую архитектуру файлов и классов Joomla, что, к сожалению, заставляет прибавлять к его описанию слова "пока ещё" - "пока ещё работает".
Страница расширенияGitHub расширенияJoomla Extensions Directory👩‍💻 За ссылку спасибо самому внимательному участнику нашего сообщества - Ринату Кажетову (@rkazhet).@joomlafeed#joomla #расширения

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

al-teen

  • Глобальный модератор
  • 2385
  • 224 / 10
  • im
Перед прочтением настоятельно рекомендую ознакомиться с материалами:
http://joomlaforum.ru/index.php/topic,9638.0.html
http://joomlaforum.ru/index.php/topic,135047.0.html

Сразу отмечу, что разработка шаблона под версию J2.5 ничем существенно не отличается от версии J1.5. Глядя на шаблоны по умолчанию можно увидеть в них много отличного от предыдущих версий кода. Это может запутать. На самом деле все это лишь показательные изыски разработчиков данных шаблонов. Ничего такого, что не работало бы в предыдущих версиях в них не содержится. Все конструкции шаблонов 1.5 работают и в 2.5 версии. Более подробно о них смотрите тут.

Из кардинальных можно отметить изменения в файле templateDetails.xml.
В версии 1.5 мы помещали параметры в общий контейнер:
Код: xml
<install version="1.5" type="template"></install>

Теперь он выглядит как:
Код: xml
<extension version="2.5" type="template" client="site"></extension>

Параметры описания шаблона(автор, название, сайт разработчика, E-Mail и т.д.) остались прежними.
Перечисление файлов инсталл. пакета выполняется в прежнем порядке, за исключением того, что теперь не обязательно перечислять каждый файл в папках шаблона(например изображения), а достаточно указать название папки. В предыдущих версиях это так же работало, но не совсем стабильно и часто возвращало ошибки.
Выглядит следующим образом:
Код: xml

<files>
  <folder>css</folder>
  <folder>html</folder>
  <folder>images</folder>
  <folder>javascript</folder>
  <folder>fonts</folder>
  <folder>language</folder>
  <filename>index.html</filename>
  <filename>index.php</filename>
  <filename>templateDetails.xml</filename>
  <filename>template_preview.png</filename>
  <filename>template_thumbnail.png</filename>
  <filename>favicon.ico</filename>
  <filename>component.php</filename>
  <filename>error.php</filename>
</files>

Назначение позиций шаблона осталось прежним:
Код: xml

<positions>
  <position>debug</position>
  <position>position-0</position>
</positions>

Правда в версии 1.6/1.7 наблюдался баг с односложным названием позиции, писали двусложные через тире. В 2.5 он был устранен.

Небольшие изменения в локализации.
В 1.5 было:
Код: xml

<languages>
  <language tag="en-GB">en-GB.tpl_ja_purity.ini</language>
</languages>
<administration>
  <languages>
    <language tag="en-GB">admin/en-GB.tpl_ja_purity.ini</language>
  </languages>
</administration>

В 2.5:
Код: xml

<languages folder="language">
  <language tag="en-GB">en-GB/en-GB.tpl_beez5.ini</language>
  <language tag="en-GB">en-GB/en-GB.tpl_beez5.sys.ini</language>
</languages>

Более подробно остановимся на параметрах шаблона.
Для назначения опций нам требуется вписать в файл index.php шаблона строчку
Код: php
$app = JFactory::getApplication();
То есть, подключить в шаблон JFactory.

Разберем материал на примере.
Загрузка и выбор своего логотипа:
Код: php
<?php
$app=JFactory::getApplication();
$doc=JFactory::getDocument();
$templateparams=$app->getTemplate(true)->params;
$logo=$this->params->get('logo');
?>
//HTML
<?php if ($logo != null ): ?>
<img src="<?php echo $this->baseurl ?>/<?php echo htmlspecialchars($logo); ?>" alt="<?php echo htmlspecialchars($templateparams->get('sitetitle'));?>" />
<?php else: ?>
<?php echo htmlspecialchars($templateparams->get('sitetitle')); ?>
<?php endif; ?>

Ставим условие на проверку наличия изображения. Если картинка отсутствует, выводим текст.

Код для templateDetails.xml:
Код: xml
<field name="logo" type="media" label="TPL_BEEZ5_FIELD_LOGO_LABEL" description="TPL_BEEZ5_FIELD_LOGO_DESC" />
<field name="sitetitle"  type="text" default="" label="TPL_BEEZ5_FIELD_SITETITLE_LABEL" description="TPL_BEEZ5_FIELD_SITETITLE_DESC" filter="string" />
</param>

name="logo" - название переменной из $logo=$this->params->get('logo');
type="media" - тип опции. Тут вызываем медиаменеджер из com_media.
label="TPL_BEEZ5_FIELD_LOGO_LABEL" - название опции, выводимое в админпанели шаблона. Можно вывести в файл локализации, как на примере, так же можно сделать без локализации статично label="Выбрать изображение лого". Не забываем о кодировке файла XML, должно стоять UTF-8 без BOM. В противном случае вернет ошибку парсинга XML или "кракозябры".
description="TPL_BEEZ5_FIELD_LOGO_DESC" - описание во всплывающей подсказке.
default="" - значение по умолчанию. Можно назначить картинку логотипа, например default="images/logo.png"
filter="string" - фильтр значения. В данном случае имеет строковое значение.

Уточнение. Если в 1.5 назначая параметры писали:
Код: xml
<params><param></param></params>

То для 2.5:
Код: xml
<config><fields><fieldset><field></field></fieldset></fields></config>

Пример взят из шаблона beez_20.
Впрочем не обязательно создавать конструкцию:
Код: php
$templateparams=$app->getTemplate(true)->params;

И писать:
Код: php
<?php echo htmlspecialchars($templateparams->get('sitetitle')); ?>

Вполне достаточно:
Код: php
<?php echo $this->params->get('sitetitle'); ?>

Более подробно о параметрах тут.

В описании index.php никакх кардинальных изменений не наблюдается.
http://docs.joomla.org/Jdoc_statements

В версии 2.5 появилась возможность создавать собственные страницы offline и ошибок на уровне шаблона. Для этого следует скопировать файлы
error.php и offline.php из папки system в корень шаблона, после чего можно будет их редактировать на свое усмотрение.
« Последнее редактирование: 04.04.2012, 12:14:14 от al-teen »
*

Efanych

  • Глобальный модератор
  • 4683
  • 644 / 0
  • Меняю свою жизнь на 360°!
Re: Отличия шаблонов версий 1.5 и 2.5.
« Ответ #1 : 03.04.2012, 20:02:47 »
Хм. Может поможеш. Вроде всё учтено...
Если закинуть шаблон в папку, а потом найти, то нормально работает, а через установщик никак. Вот как оправдывается.
Цитировать
Установка была неожиданно прервана:Call stack
#   Function   Location
1   JAdministrator->dispatch()   JROOT\administrator\index.php:46
2   JComponentHelper::renderComponent()   JROOT\administrator\includes\application.php:153
3   JComponentHelper::executeComponent()   JROOT\libraries\joomla\application\component\helper.php:357
4   require_once()   JROOT\libraries\joomla\application\component\helper.php:388
5   JController->execute()   JROOT\administrator\components\com_installer\installer.php:22
6   InstallerControllerInstall->install()   JROOT\libraries\joomla\application\component\controller.php:754
7   InstallerModelInstall->install()   JROOT\administrator\components\com_installer\controllers\install.php:30
8   JInstaller->install()   JROOT\administrator\components\com_installer\models\install.php:110
9   JInstallerTemplate->install()   JROOT\libraries\joomla\installer\installer.php:472
10   JInstaller->abort()   JROOT\libraries\joomla\installer\adapters\template.php:216
11   JError::raiseError()   JROOT\libraries\joomla\installer\installer.php:417
12   JError::raise()   JROOT\libraries\joomla\error\error.php:251
Создание сайтов, шаблонов, помощь в решении проблем.
*

al-teen

  • Глобальный модератор
  • 2385
  • 224 / 10
  • im
Re: Отличия шаблонов версий 1.5 и 2.5.
« Ответ #2 : 03.04.2012, 20:15:53 »
Efanych, покажи инсталляшку.
*

Efanych

  • Глобальный модератор
  • 4683
  • 644 / 0
  • Меняю свою жизнь на 360°!
Re: Отличия шаблонов версий 1.5 и 2.5.
« Ответ #3 : 03.04.2012, 20:39:02 »
Инсталяшка это XML?
Цитировать
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE install PUBLIC "-//Joomla! 2.5//DTD template 1.0//EN" "http://www.joomla.org/xml/dtd/1.6/template-install.dtd">
<extension version="2.5" type="template" client="site">
   <name>book1</name>
   <creationDate>28/11/2011</creationDate>
   <author>Efanych</author>
   <version>1.7.0</version>
   <description></description>
   <files>
      <folder>html</folder>
      <folder>css</folder>
      <folder>images</folder>
      <folder>language</folder>
      <folder>js</folder>
      <filename>index.php</filename>
      <filename>index.html</filename>
      <filename>favicon.ico</filename>
      <filename>templateDetails.xml</filename>
      <filename>template_preview.png</filename>
      <filename>template_thumbnail.png</filename>
      <filename>component.php</filename>
      <filename>error.php</filename>
   </files>

   <positions>
      <position>bottomleft</position>
      <position>bottommiddle</position>
      <position>search</position>
      <position>sidebar</position>
      <position>topmenu</position>
      <position>topquote</position>
   </positions>

   <!--    For core templates, we also install/uninstall the language files in the core language folders.
   -->
   <languages folder="language">
      <language tag="en-GB">en-GB/en-GB.tpl_atomic.ini</language>
      <language tag="en-GB">en-GB/en-GB.tpl_atomic.sys.ini</language>
   </languages>

</extension>
Создание сайтов, шаблонов, помощь в решении проблем.
*

al-teen

  • Глобальный модератор
  • 2385
  • 224 / 10
  • im
Re: Отличия шаблонов версий 1.5 и 2.5.
« Ответ #4 : 03.04.2012, 20:45:02 »
Скинь сам шаблон тогда лучше, чтоб не гадать. В личку или тут.
*

Efanych

  • Глобальный модератор
  • 4683
  • 644 / 0
  • Меняю свою жизнь на 360°!
Создание сайтов, шаблонов, помощь в решении проблем.
*

al-teen

  • Глобальный модератор
  • 2385
  • 224 / 10
  • im
Re: Отличия шаблонов версий 1.5 и 2.5.
« Ответ #6 : 03.04.2012, 22:28:41 »
В templateDetails.xml неверно было указано имя фавиконки, был вписан error.php, которого не было в папке, неверно были записаны имена файлов локализации.

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

Efanych

  • Глобальный модератор
  • 4683
  • 644 / 0
  • Меняю свою жизнь на 360°!
Re: Отличия шаблонов версий 1.5 и 2.5.
« Ответ #7 : 04.04.2012, 01:52:38 »
М-да. Спасибо. И видел.
Ошибка какая-то странная, никак не ожидал, что из-за отсутствия файлов.
Создание сайтов, шаблонов, помощь в решении проблем.
*

al-teen

  • Глобальный модератор
  • 2385
  • 224 / 10
  • im
Re: Отличия шаблонов версий 1.5 и 2.5.
« Ответ #8 : 04.04.2012, 01:59:35 »
Функция парсит имена файлов, сравнивает с наличием в указанной папке. Ничего странного. Равносильно, что обращаться к несуществующей переменной в php - ищет и не находит, в итоге error. Даже лишний символ в имени файла повлечет за собой ошибку. Помножить на жесткие требования XML синтаксиса, и получим необходимость очень точного и целостного описания. Ничего лишнего, ничего недостающего. Куча ограничений. Шаг вправо, шаг влево - расстрел.
*

danik.html

  • Живу я здесь
  • 2650
  • 353 / 4
Re: Отличия шаблонов версий 1.5 и 2.5.
« Ответ #9 : 04.04.2012, 04:02:25 »
Откуда в примере с логотипом $templateparams ?
Сайттайтл в переменную вынеси, да и все.
【Мегапак Virtuemart:
 • метатеги (description,keywords)
 • заголовки (title)
 • красивые алиасы (чпу) без тормозов и дублей!
*

al-teen

  • Глобальный модератор
  • 2385
  • 224 / 10
  • im
Re: Отличия шаблонов версий 1.5 и 2.5.
« Ответ #10 : 04.04.2012, 11:01:34 »
Откуда в примере с логотипом $templateparams ?
Сайттайтл в переменную вынеси, да и все.
Глянь еще раз XML для sitetitle глянь) type="text". Это не <?php echo $app->getCfg('sitename'); ?>.
Пример из beez 20
*

danik.html

  • Живу я здесь
  • 2650
  • 353 / 4
Re: Отличия шаблонов версий 1.5 и 2.5.
« Ответ #11 : 04.04.2012, 11:54:20 »
Так я у тя спрашиваю откуда у тя $templateparams взялось?
Тыж эту переменную не объявлял. И Joomla ее тоже не объявила за тебя.
Вот ктонить скопипастит и будет думать: чеж это ошибка вылазиит:
Fatal error: call method "get" of undefined или как там ...
【Мегапак Virtuemart:
 • метатеги (description,keywords)
 • заголовки (title)
 • красивые алиасы (чпу) без тормозов и дублей!
*

al-teen

  • Глобальный модератор
  • 2385
  • 224 / 10
  • im
Re: Отличия шаблонов версий 1.5 и 2.5.
« Ответ #12 : 04.04.2012, 12:05:04 »
Так я у тя спрашиваю откуда у тя $templateparams взялось?
Тыж эту переменную не объявлял. И Joomla ее тоже не объявила за тебя.
Вот ктонить скопипастит и будет думать: чеж это ошибка вылазиит:
Fatal error: call method "get" of undefined или как там ...
Благодарю, исправил. Скопировал типа доступный каждому пример. Мда.
*

VitUrzh

  • Осваиваюсь на форуме
  • 12
  • 0 / 0
Re: Отличия шаблонов версий 1.5 и 2.5.
« Ответ #13 : 15.04.2012, 13:52:23 »
А подскажите, как правильно папку com_content в шаблон переместить?
В частности интересует в com_content пока вот эта папка featured.
Как ни запихивал ее в шаблон, не хочет Joomla ей пользоваться.
Пробовал даже ее и из другого шаблона копировать из beez5, но информация все равно берется из папки components > com_content
В чем может быть причина, может прописать отдельно где-то надо чего?

С categories вот все получилось.
*

al-teen

  • Глобальный модератор
  • 2385
  • 224 / 10
  • im
Re: Отличия шаблонов версий 1.5 и 2.5.
« Ответ #14 : 15.04.2012, 17:01:31 »
В папке шаблона существует папка HTML, в нее помещаете папку com_content. В папке com_content заходим в views и перемещаем все ее содержимое назад в com_content. Собственно все.

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

Pavel24071988

  • Осваиваюсь на форуме
  • 27
  • 0 / 0
  • На пути к совершенству
Re: Отличия шаблонов версий 1.5 и 2.5.
« Ответ #15 : 18.04.2012, 10:32:43 »
Извите, а не подскажите

Мегрировал jooml1.5 до 2.5 на 1.5 был мой шаблон = версия 2.5 его не видит хотя он папка с шаблоном есть в templates, что можно предпринять?
*

al-teen

  • Глобальный модератор
  • 2385
  • 224 / 10
  • im
Re: Отличия шаблонов версий 1.5 и 2.5.
« Ответ #16 : 18.04.2012, 13:16:21 »
Извите, а не подскажите

Мегрировал jooml1.5 до 2.5 на 1.5 был мой шаблон = версия 2.5 его не видит хотя он папка с шаблоном есть в templates, что можно предпринять?
Читайте ветку внимательнее.
*

planetary

  • Захожу иногда
  • 63
  • 0 / 2
Re: Отличия шаблонов версий 1.5 и 2.5.
« Ответ #17 : 24.04.2012, 22:59:41 »
Помогите пожалуйста с такой проблемой:
Пишет ошибка в файле templates.php в строчке:
<?php echo $mainframe->getCfg('sitename') ;?>, Powered by <a href="http://joomlan.ru/" class="sgfooter" target="_blank">Joomla!</a>
*

danik.html

  • Живу я здесь
  • 2650
  • 353 / 4
Re: Отличия шаблонов версий 1.5 и 2.5.
« Ответ #18 : 24.04.2012, 23:04:47 »
В актуальных версиях Joomla нет глобального обьекта $mainframe. Нужно писать
Код: php
...
$config = JFactory::getConfig();
...
<?php echo $confing->get('sitename') ;?>
【Мегапак Virtuemart:
 • метатеги (description,keywords)
 • заголовки (title)
 • красивые алиасы (чпу) без тормозов и дублей!
*

planetary

  • Захожу иногда
  • 63
  • 0 / 2
Re: Отличия шаблонов версий 1.5 и 2.5.
« Ответ #19 : 24.04.2012, 23:51:17 »
Заменил на
Код
<?php echo JFactory::getApplication()->getCfg('sitename'); ?>
Теперь ошибок не выдаёт, но из шаблона показывается только шапка и низ(футер). Может не так что-то изменил ? Не совсем подробно описано где что заменять(
*

danik.html

  • Живу я здесь
  • 2650
  • 353 / 4
Re: Отличия шаблонов версий 1.5 и 2.5.
« Ответ #20 : 24.04.2012, 23:54:35 »
Так то да, наверное может быть. А почему нет? Кстати почему так не разбирались?
【Мегапак Virtuemart:
 • метатеги (description,keywords)
 • заголовки (title)
 • красивые алиасы (чпу) без тормозов и дублей!
*

planetary

  • Захожу иногда
  • 63
  • 0 / 2
Re: Отличия шаблонов версий 1.5 и 2.5.
« Ответ #21 : 24.04.2012, 23:58:44 »
Я не особо разбираюсь в Joomla.
*

planetary

  • Захожу иногда
  • 63
  • 0 / 2
Re: Отличия шаблонов версий 1.5 и 2.5.
« Ответ #22 : 25.04.2012, 00:00:09 »
не совсем понятно куда вот это вставлять:
Код
<?php
$app=JFactory::getApplication();
$doc=JFactory::getDocument();
$templateparams=$app->getTemplate(true)->params;
$logo=$this->params->get('logo');
?>
//HTML
<?php if ($logo != null ): ?>
<img src="<?php echo $this->baseurl ?>/<?php echo htmlspecialchars($logo); ?>" alt="<?php echo htmlspecialchars($templateparams->get('sitetitle'));?>" />
<?php else: ?>
<?php echo htmlspecialchars($templateparams->get('sitetitle')); ?>
<?php endif; ?>
*

planetary

  • Захожу иногда
  • 63
  • 0 / 2
Re: Отличия шаблонов версий 1.5 и 2.5.
« Ответ #23 : 25.04.2012, 00:02:27 »
Вот то, что у меня в итоге всех преобразований получилось(Шаблон на рыболовную тематику) помогите пожалуйста найти ошибку.

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

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Re: Отличия шаблонов версий 1.5 и 2.5.
« Ответ #24 : 25.04.2012, 00:05:29 »
не совсем понятно куда вот это вставлять:
если не понятно то и незачем. Приведенный Вами код предназначен для вывода логотипа сайта или текста вместо него.
В 99% такая конструкция не нужна. Лишний запрос. Лишний код для статического логотипа.
*

planetary

  • Захожу иногда
  • 63
  • 0 / 2
Re: Отличия шаблонов версий 1.5 и 2.5.
« Ответ #25 : 25.04.2012, 00:08:27 »
Тогда в каком месте я ошибся при вставке кода, если показывается только шапка и футер шаблона?
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Re: Отличия шаблонов версий 1.5 и 2.5.
« Ответ #26 : 25.04.2012, 00:17:28 »
Вот здесь
Код: php
<?php if($this->params->get('showComponent')) : ?>
<jdoc:include type="component" />
<?php endif; ?>
Уберите проверку и оставьте только <jdoc:include type="component" />
Параметр showComponent не задан в настройках шаблона
*

planetary

  • Захожу иногда
  • 63
  • 0 / 2
Re: Отличия шаблонов версий 1.5 и 2.5.
« Ответ #27 : 25.04.2012, 00:31:53 »
Спасибо, теперь показывает всё кроме бокового (правого и левого) меню, может еще где-то косяк?
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Re: Отличия шаблонов версий 1.5 и 2.5.
« Ответ #28 : 25.04.2012, 00:36:52 »
Те же самые убирайте проверки
<?php if($this->countModules('right') and JRequest::getCmd('layout')!= 'form') : ?>
<?php if($this->countModules('left') and JRequest::getCmd('layout')!= 'form') : ?>
разберитесь с выводом блоков и их логикой
и не пугайтесь удалять лишнее
в своем шаблоне вы каждую строчку понимать должны
*

planetary

  • Захожу иногда
  • 63
  • 0 / 2
Re: Отличия шаблонов версий 1.5 и 2.5.
« Ответ #29 : 25.04.2012, 00:58:12 »
Я просто еще ООП не изучал. Поудалял, теперь место слева под меню освободилось, но там пусто(
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Шаблон шаблонов. Давайте сделаем и упростим жизнь?

Автор wayn

Ответов: 16
Просмотров: 5678
Последний ответ 14.09.2012, 04:52:41
от aspidy
Какой выбрать путь, для разработки собственных шаблонов?

Автор Web-Simple

Ответов: 8
Просмотров: 4772
Последний ответ 23.09.2011, 14:00:15
от esmark