Автор Тема: Подключение кастомной CSS в своей теме  (Прочитано 4376 раз)

25 Июля 2012, 01:32:37
  • Новичок
  • *
  • Сообщений: 13
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Приветствую!
Захотел разработать свою тему для Престы. И почти сразу столкнулся с такой проблемой:
Как подключить, скажем, файл стилей с названием "mycustomstyle.css" к своей теме?
в каком файле прописать это надо?
файл разместил в подкаталоге своей темы ../css
Предположил что есть только стандартные имена css файлов... если это так, то где узнать их список?
Ещё вычитал, что можно создавать стиль каждой странице сайта. Где название брать это? и как подключать этот стиль?
25 Июля 2012, 09:54:55
Ответ #1
  • Ветеран
  • *****
  • Сообщений: 105584
  • Репутация: +39547/-0
    • Просмотр профиля
    • Webstudio UwK
Все файлы css для новой темы вы храните в папке:
/themes/new_theme/css/style.css
Можно заменить файлы css для каждого модуля (блока). Для этого разместить файлы css в:
/themes/new_theme/css/modules/blockcms/blockcms.css
Подключаются файлы стилей так:
Для темы в файле header.tpl
{if isset($css_files)}
{foreach from=$css_files key=css_uri item=media}
<link href="{$css_uri}" rel="stylesheet" type="text/css" media="{$media}" />
{/foreach}
{/if}
Для модулей в файле php
public function hookHeader($params)
{
Tools::addCSS(($this->_path).'blockcms.css', 'all');
}
Cоздание интернет сайтов Webstudio UwK
28 Августа 2012, 12:27:03
Ответ #2
  • Новичок
  • *
  • Сообщений: 9
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
    • prestapro.ru
Ток подключать надо после цикла foreach
{if isset($css_files)}
{foreach from=$css_files key=css_uri item=media}
<link href="{$css_uri}" rel="stylesheet" type="text/css" media="{$media}" />
{/foreach}
        <link href="{$css_dir}style.css" rel="stylesheet" type="text/css" media="{$media}" />
{/if}
Интернет-магазины под ключ

Шаблоны для prestashop (новая версия, там же и книга для престашоп) http://prestapro.ru
29 Августа 2012, 09:48:30
Ответ #3
  • Партнер
  • Ветеран
  • ****
  • Сообщений: 22210
  • Репутация: +17111/-1
  • Разработка веб-сайтов и веб-программирование
    • Просмотр профиля
Цитата: Saerty
Ток подключать надо после цикла foreach
Только в одном случае, если ваши файлы css находятся в нестандартой папке.
Цитата: Saerty
<link href="{$css_dir}style.css" rel="stylesheet" type="text/css" media="{$media}" />
так делать не нужно, в этом случае файл стилей находиться в папке
{$css_dir}все файлы с разрешением css подхватываются автоматом, достаточно
Цитата: Виталий
{if isset($css_files)}
   {foreach from=$css_files key=css_uri item=media}
   <link href="{$css_uri}" rel="stylesheet" type="text/css" media="{$media}" />
   {/foreach}
{/if}
Если вынести файлы стилей в папку
/prestashop/css/тогда в header.tpl
{if isset($css_files)}
{foreach from=$css_files key=css_uri item=media}
<link href="{$css_uri}" rel="stylesheet" type="text/css" media="{$media}" />
{/foreach}
        <link href="/prestashop/css/style.css" rel="stylesheet" type="text/css" media="{$media}" />
{/if}
Интернет-магазин под ключ.
Какой выбрать движок для интернет магазина ?
Какой движок лучше ?
Magento или Prestashop ?
Решение всех Ваших вопросов в создании Интернет-магазина.
10 Июня 2015, 13:19:32
Ответ #4
  • Новичок
  • *
  • Сообщений: 22
  • Репутация: +0/-0
  • Разработка сайтов magl88.net
    • Просмотр профиля
    • magl88.net
Здравствуйте
Вот и мне понадобилось подключить свои стили к шаблону
1) Правильно ли я понял что шаблон должен сам подключать все CSS которые лежат в папке css шаблона в этот блок??
{if isset($css_files)}
{foreach from=$css_files key=css_uri item=media}
<link href="{$css_uri}" rel="stylesheet" type="text/css" media="{$media}" />
{/foreach}
{/if}
я закинул свой файл в папку css, сбросил кэш и вообще его отключил. Но файл не подключился! В чём может быть проблема ?
2) Как правильно подключить свой файл css и js ?
10 Июня 2015, 15:23:51
Ответ #5
  • Ветеран
  • *****
  • Сообщений: 33026
  • Репутация: +26761/-0
    • Просмотр профиля
$this->context->controller->addJS($this->_path.'js/myfile.js');
$this->context->controller->addCSS($this->_path.'css/myfile.css');
10 Июня 2015, 15:28:30
Ответ #6
  • Новичок
  • *
  • Сообщений: 22
  • Репутация: +0/-0
  • Разработка сайтов magl88.net
    • Просмотр профиля
    • magl88.net
$this->context->controller->addJS($this->_path.'js/myfile.js');
$this->context->controller->addCSS($this->_path.'css/myfile.css');
и куда это девать ? что с этим делать ?
10 Июня 2015, 15:30:33
Ответ #7
  • Новичок
  • *
  • Сообщений: 22
  • Репутация: +0/-0
  • Разработка сайтов magl88.net
    • Просмотр профиля
    • magl88.net
Выше писали про
<link href="{$css_dir}style.css" rel="stylesheet" type="text/css" media="{$media}" />Но сразу же ответили что
Цитировать
так делать не нужно, в этом случае файл стилей находиться в папке

Почему так нельзя ? {$css_dir} подставляет же путь к папке css
10 Июня 2015, 15:38:15
Ответ #8
  • Ветеран
  • *****
  • Сообщений: 33026
  • Репутация: +26761/-0
    • Просмотр профиля
1. Если что-то добавить, то прямо в global.css. Не нужно плодить файлы и замедлять работу сайта.
2. Если добавлять слили для своего модуля, то в модуле
public function hookHeader()
{
$this->context->controller->addJS($this->_path.'js/myfile.js');
        $this->context->controller->addCSS($this->_path.'css/myfile.css');
}
3. Если сильно хочется, то прямо в шаблоне headre.tpl
<link href="{$css_dir}style.css" rel="stylesheet" type="text/css" media="{$media}" />
Чтобы правильно подключить стили, делайте как в пп.1,2.
10 Июня 2015, 15:44:33
Ответ #9
  • Новичок
  • *
  • Сообщений: 22
  • Репутация: +0/-0
  • Разработка сайтов magl88.net
    • Просмотр профиля
    • magl88.net
ну теперь вроде бы понятно Спасибо :)
я пока тренируюсь на стандартной теме и разбираюсь как бы её допелить до того что мне надо.