Подключение кастомной CSS в своей теме

Автор adamatis, 25 июля 2012, 01:32:37

« назад - далее »

adamatis

Приветствую!
Захотел разработать свою тему для Престы. И почти сразу столкнулся с такой проблемой:
Как подключить, скажем, файл стилей с названием "mycustomstyle.css" к своей теме?
в каком файле прописать это надо?
файл разместил в подкаталоге своей темы ../css
Предположил что есть только стандартные имена css файлов... если это так, то где узнать их список?
Ещё вычитал, что можно создавать стиль каждой странице сайта. Где название брать это? и как подключать этот стиль?

Виталий

Все файлы 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

Presta PRO

Ток подключать надо после цикла 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 (новая версия, там же и книга для престашоп) https://prestapro.ru/

mAgency

Цитата: 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 ?
Решение всех Ваших вопросов в создании Интернет-магазина.

magl88

Здравствуйте
Вот и мне понадобилось подключить свои стили к шаблону
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 ?

coder

$this->context->controller->addJS($this->_path.'js/myfile.js');
$this->context->controller->addCSS($this->_path.'css/myfile.css');

magl88

Цитата: coder от 10 июня 2015, 15:23:51
$this->context->controller->addJS($this->_path.'js/myfile.js');
$this->context->controller->addCSS($this->_path.'css/myfile.css');

и куда это девать ? что с этим делать ?

magl88

Выше писали про
<link href="{$css_dir}style.css" rel="stylesheet" type="text/css" media="{$media}" />
Но сразу же ответили что
Цитироватьтак делать не нужно, в этом случае файл стилей находиться в папке

Почему так нельзя ? {$css_dir} подставляет же путь к папке css

coder

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.

magl88

ну теперь вроде бы понятно Спасибо :)
я пока тренируюсь на стандартной теме и разбираюсь как бы её допелить до того что мне надо.