Jump to content

Создание шаблона PrestaShop 1.4.8.2 Вопросы.


Recommended Posts

Прошу помощи. Перерыл кучу форумов, перечитал уже много чего, но никак не могу понять принципа.

Нарисовал дизайн(прикрепил файл).

post-384096-0-17175400-1344521888_thumb.jpg

Проблем сверстать его у меня нет. Но вот сверстать это под престу, не могу понять как. Смотрел стандартный шаблон и скачаивал бесплатные.

В немногочисленных туторах рекомендуют скопировать стандартный, удалить стили, расположить модули в нужных местах и верстать...

Скопировал, удалил стили. Располагаю модули в нужных хуках.... и тут как раз ступор начинается. В стандартных есть хук "HOOK_TOP"

По дизайну там должны быть 4 блока:

1. Левый верх - контакты

2. Верх центр - логотип

3. Правый верх - поиск, корзина

4. низ центр - меню

 

Переношу нужные модули в HOOK_TOP.

Как теперь мне им нужные позиции задать?

 

Может я принципа не понимаю?

Прошу помощи

Link to comment
Share on other sites

ну пока что все описанные действия правильны) Позиция в хуке - слева у списка модулей в хуке есть "стрелочки" кликай на них или схвати мышкой и перетащи)

ну так это сделал.

Не понимаю просто как пихать модули в нужные мне дивы. Т.е. сейчас модули в нужном хуке, а внутри него как их позиционировать? К примеру в жумле можно было создать позицию, прописать див этой позиции, а потом туда модуль выввести. Тут как такое делается?

Edited by adamatis (see edit history)
Link to comment
Share on other sites

а ты про внутризхуковые позиции, из описания сразу не понял.

 

дык, у каждого модуля в отдельной папке кроме логики .php есть .tpl файл, там вся верстка. позиция модуля в хуке определяет "вертикаль", в нее подтаксиваются персональные шабы каждого модуля... чето я както непонятно написал видать)

 

короче представь конструктор, в общем шаблоне ты взял хук-топ

этот хук в свою очередь может состоять еще из N элементов (модулей)

"дивы" и смарти для каждого модуля "вставляются" в хук в порядке очереди указанной в позиции модулей в хуке

Link to comment
Share on other sites

а ты про внутризхуковые позиции, из описания сразу не понял.

 

дык, у каждого модуля в отдельной папке кроме логики .php есть .tpl файл, там вся верстка. позиция модуля в хуке определяет "вертикаль", в нее подтаксиваются персональные шабы каждого модуля... чето я както непонятно написал видать)

 

короче представь конструктор, в общем шаблоне ты взял хук-топ

этот хук в свою очередь может состоять еще из N элементов (модулей)

"дивы" и смарти для каждого модуля "вставляются" в хук в порядке очереди указанной в позиции модулей в хуке

понятно.

Т.е. мне придётся сделать топ статичной высоты, а модули дивами сделать?

Может тогда лучше свой хук создать, типа "TOP_RIGHT"?

Link to comment
Share on other sites

новый хук незачем, все и в одном прекрасно позиционируется, модули ты же стандартные используешь, там уже все обернуто нужными дивами, тебе остается только правка css

Link to comment
Share on other sites

не понимаю как связки создавать...

К примеру, есть у нас "поиск" в шапке сайта, в хуке "HOOK_TOP"

как внести изменения в отображение CSS?(вернее, по какому принципу искать что и где менять)?

и как изменить так называемый "view" этого модуля?

Link to comment
Share on other sites

css хранятся в themes/yourteheme/css

какой конкретно файл править подскажут инструменты разработчика в хроме, ты ж вроде сам верстаешь, должен знать

view в данном случае tpl файл модуля

вообще вот http://prestalab.ru/wiki/shablony рекомендую пробежаться и месяц-два назад тут (на форуме) хлопчик выкладывал мануал по разработке шаблона с нуля, поищи на первых страницах

Edited by SergeyH (see edit history)
Link to comment
Share on other sites

у меня нет цели изменить дефолтный шаблон - я хочу понять принцип. Там понятно, что легко находится инспекцией кода, и-то опять-таки только css.

Очень запутано как-то всё - ещё ни разу не сталкивался с подобным....

Сайт этот видел. Я, прежде чем решил задавать вопросы, очень много ресурсов облазил.

Ладно, спасибо за помощь! помучаю ещё немного... если надоест, тупо сделаю на другой платформе

Link to comment
Share on other sites

принцип как раз и можно понять изучая базовый скелет, как вариант

насколько я знаю "запутано" как раз в Джумле)) а здесь довольно прозрачный MVC, могу пригласить в тему Серегу, он как раз джумлу пилит в том числе, уж он то просветит насчет запутанности)

 

задавай конкретные вопросы, буду отвечать по мере сил

Link to comment
Share on other sites

Ура! Пришло озарение))) Действительно, теперь кажется простым)

Создание своего хука все-таки не сложней создания своей позиции в шаблоне joomla)

Я наверно позже напишу how-to по созданию шаблона и основам верстки под PrestaShop.

Делаю верстку на базе "skeleton" css-фреймворка. Думаю это очень эффективно с точки зрения понимания)

Link to comment
Share on other sites

Ура! Пришло озарение))) Действительно, теперь кажется простым)

Создание своего хука все-таки не сложней создания своей позиции в шаблоне joomla)

Я наверно позже напишу how-to по созданию шаблона и основам верстки под PrestaShop.

Делаю верстку на базе "skeleton" css-фреймворка. Думаю это очень эффективно с точки зрения понимания)

 

вчера человек из друпал сообщества задавал похожие вопросы)

толковый мануал никогда лишним не бывает, пиши

в 1.5. судя по давним анонсам они собирались юзать 960 кажысь для цсс

Link to comment
Share on other sites

Вот у меня основные траблы как раз были с редактированием css базовой темы.

Сделал на skeleton и все стало на порядок проще. К тому же я макет рисовал сразу по 16 сетке на 960

Link to comment
Share on other sites

Возникла неожиданная проблема, которую не могу понять как устранить. Суть проблемы в следующем:

на главной есть меню, в меню пункты

- "карта сайта" ссылается на sitemap.php

- "контакты" ссылается на contact-form.php

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

В папку с темой скопировал файл contact-form.tpl, не отображается.

 

Подскажите, что я делаю не так?

 

Честно говоря не могу сформулировать правильный вопрос, поэтому найти решения пока не вышло.

Link to comment
Share on other sites

- "карта сайта" ссылается на sitemap.php

- "контакты" ссылается на contact-form.php

 

ссылается он как, код приведите.

предполагаю что не используется getPageLink а в 1.5 изменился вид ссылок

Link to comment
Share on other sites

ссылается он как, код приведите. предполагаю что не используется getPageLink а в 1.5 изменился вид ссылок

у меня версия 1.4.8

ну я написал какие ссылки - это ссылки модуля "Блок постоянных ссылок"

вот ссылка "http://prestashop.ru/contact-form.php"

код из модуля:

 

<!-- Contact -->

<div class="contact">

<a href="{$link->getPageLink('contact-form.php', true)}"><img src="{$img_dir}icon/contact.gif" alt="{l s='contact' mod='blockpermanentlinks'}" title="{l s='contact' mod='blockpermanentlinks'}" /></a> 

<a href="{$link->getPageLink('contact-form.php', true)}">{l s='contact' mod='blockpermanentlinks'}</a>

</div>

Edited by adamatis (see edit history)
Link to comment
Share on other sites

тут у каждого своя версия, свои домыслы и прочая, так что если хотите оперативный ответ пишите сразу подробно)

в коде все ок

если выводится хидер и больше ничего, скорее всего ниже в коде ошибка, в config/config.inc.php строку приведи в такое состояние @ini_set('display_errors', 'on');

  • Like 1
Link to comment
Share on other sites

тут у каждого своя версия, свои домыслы и прочая, так что если хотите оперативный ответ пишите сразу подробно) в коде все ок если выводится хидер и больше ничего, скорее всего ниже в коде ошибка, в config/config.inc.php строку приведи в такое состояние @ini_set('display_errors', 'on');

спасибо!!! очень дельный совет! У меня просто столько времени уходило на дебагинг методом "пальцем в небо" все возможные варианты

Link to comment
Share on other sites

  • 2 weeks later...

Возник вопросик о расположении модулей. Там есть поле "исключения" где указываются страницы, на которых не нужно выводить модуль, к примеру "index.php". Есть ли возможность указать чтобы не показывался везде, кроме "index.php"? т.е. как бы обратное действие

Link to comment
Share on other sites

Возник вопросик о расположении модулей. Там есть поле "исключения" где указываются страницы, на которых не нужно выводить модуль, к примеру "index.php". Есть ли возможность указать чтобы не показывался везде, кроме "index.php"? т.е. как бы обратное действие

 

Нет, но имхо, ты сейчас выращиваешь слона из летающего насекомого, "типов страниц" до десятка навскидку

Link to comment
Share on other sites

  • 5 months later...

Вроде бы действия очевидные... Меняем ширину контейнера (в ПрестаШопе он называется «page»), далее — ширину шапки, подвала и... всё содержимое эффектно расползается по широченному экрану моноблока.

 

Надеюсь, я Вас просто неправильно понял. Вы же не этого хотите? Скажем, у стандартного шаблона под подвалом, который имеет стандартную ширину престашоповского контейнера, 979px, фон не растягивается за пределы подвала на всю ширину страницы. Вы это имели в виду?

Link to comment
Share on other sites

Вроде бы действия очевидные... Меняем ширину контейнера (в ПрестаШопе он называется «page»), далее — ширину шапки, подвала и... всё содержимое эффектно расползается по широченному экрану моноблока.

 

Надеюсь, я Вас просто неправильно понял. Вы же не этого хотите? Скажем, у стандартного шаблона под подвалом, который имеет стандартную ширину престашоповского контейнера, 979px, фон не растягивается за пределы подвала на всю ширину страницы. Вы это имели в виду?

именно это и имел ввиду!!!!

Link to comment
Share on other sites

Тогда добавте фоны в слой html — снизу и в слой body — сверху. Возьмите паттерн (модуль фактуры или рисурка фона, который рассыплется на всю ширину экрана) нужной Вам высоты. Если подходящего с нужной высотой не найдётся, возьмите с меньшей высотой и сделайте из него в Фотошопе модуль с нужной. Положите его в папку themes > default > img. Откройте файл global.css и добавьте туда ссылку на этот паттерн.

 

В слой html (10-я строка или около того) вставьте это:

background: #fff url(../img/ИМЯ ИЗОБРАЖЕНИЯ ДЛЯ ФОНА ПО НИЗУ СТРАНИЦЫ) bottom left repeat-x

Если страница не белая, а какой-то другой цвет, поменяйте в этой строчке #fff на нужный.

 

В слой body (где-то после 60-й строчки) вставьте это:

background: transparent url(../img/ИМЯ ИЗОБРАЖЕНИЯ ДЛЯ ФОНА ПО ВЕРХУ СТРАНИЦЫ) top left repeat-x

Здесь вместо цвета указано «transparent», то есть, «прозрачный». Если задать цвет, то этот цвет перекроет фоновое изображение, которое мы уже вставили в html-слой.

Link to comment
Share on other sites

×
×
  • Create New...