Форум → Смена валюты

Установил на днях платформу Абрикос (вручную, автомат не поехал как надо) с магазином. Есть один вопрос — в каких файлах нужно внести правку, чтобы изменить валюту, на главной странице возле корзины нашёл где изменить, а вот при просмотре товара — не могу найти. Заранее спасибо.

Открыто
sandro
28 Ноября 2014, 10:57
319 roosit:

На днях был обновлен инсталлятор с поддержкой nginx, сборку обновил, проблем с установкой теперь быть не должно.

Для изменения валюты в текущей версии, необходимо перегружать шаблоны модуля eshop в вашем шаблоне.

Например, для того, чтобы изменить фразу валюты при просмотре валюты, необходимо перегрузить файл-шаблона eshop/brick/product-buyblock.html. Для этого нужно скопировать его в свой шаблон сайта в папку override: /tt/[мой_шаблон_сайта]/override/eshop/brick/product-buyblock.html

В строке product-buyblock.html:

<b><span <span data-mce-mark="1">class</span>=<span data-mce-mark="1">"price"</span>>{v#fld_price}<<span data-mce-mark="1">/span> {#brick.product.8}</</span>b>

установить свое значение валюты, например:

<b><span class=«price»>{v#fld_price}</span> $</b>

Ну и так далее, по другим файлам.

А вообще, я бы рекомендовал использовать новую версию платформы, выход которой официально пока еще не состоялся, но уже вовсю используется на большинства сайтах. Получить сборку можно из гитхаба: github.com/abricos/abricos/  

В readme инструкция по установке.

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

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

320 sandro:

Здравствуйте, спасибо, что откликнулись.

Есть несколько сопутствующих вопросов:

«В строке product-buyblock.html:

<b><span <span data-mce-mark="1">class</span>=<span data-mce-mark="1">"price"</span>>{v#fld_price}<<span..." - во-первых почему-то здесь, на форуме, не видно эту строку до конца, второе - в самом файле этой строки нет, но есть <span><b><span class=«price»>{v#fld_price}</span> {product 8}/b>, вместо этого продукта я вписал то, что Вы советовали, но, увы ничего не изменилось. Файл ложил по указанному Вами пути, при том в папке <span>/tt/[мой_шаблон_сайта]/override/ отсутствовали папки eshop/brick/, я их создал. <br /></span>Непонятным остаётся вот это: "<span>Ну и так далее, по другим файлам." </span></span>
321 sandro:

Эх, набирал много букв и все улетело вникуда... 

В общем напишу короче: первая строчка кода, которую Вы писали — здесь, на форуме, ее не видно до конца, в самом файле, что Вы приводите её нет, вторая строчка кода есть в файле, была приведена в такой же вид и положена по тому самому пути, что Вы писали.

Непонятным остаётся " Ну и так далее, по другим файлам."

322 roosit:

вот строчка в product-buyblock.html:

<b><span class=«price»>{v#fld_price}</span> {#brick.product.8}</b>

в этой строчке вместо {#brick.product.8} впишите свою валюту

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

А свой шаблон сайта вы создали и выбрали его в админке?

323 sandro:

Да, шаблон свой создан и выбран в админке, в строке вписал свою валюту и положил именно туда, куда Вы и писали, но изменений нет. Более того потом ложил его и в модули, но также ничего не изменилось. Валюта также в «руб.».

324 sandro:

Кроме того изначально в /tt/[мой_шаблон_сайта]/override/ не было папок eshop/brick/, их я создавал дополнительно.

325 sandro:

Нет, все же в одном месте поменялась валюта — когда уже открыта информация о товаре, то сумма уже в нужной валюте, осталось разобраться с валютой, когда товар отображается в перечне (рядом с другими товарами) и корзина — там также «руб.»

326 roosit:

В списке товаров изменения нужно перегружать шаблон product_list.html, строка 47:

https://github.com/abricos/abricos-mod-eshop/blob/stable/brick/product_list.html

За корзину отвечает модуль eshopcart, следовательно перегружать нужно его элементы шаблона, в данном случае cartsm.html, строка 8:

https://github.com/abricos/abricos-mod-eshopcart/blob/stable/brick/cartsm.html

327 sandro:

Спасибо большое за помощь! 

По поводу правки carstm.html, это было мной сделано еще вчера — единственное, что я нашёл просматривая исходники в браузере. 

По поводу product_list.html — все получилось.

Остается нерешенным вопрос именно с открытой корзиной — там внизу пишется валюта. Сложным для меня является именно поиск той самой переменной… Как исходник не рассматривал, так и не понял «куда идти» и куда именно вносить правку. Может есть какой-то удобный инструмент по этому поводу? Сайтостроением занимался очень давно, вот решил снова взяться за это дело, в планах еще у меня добавление выбора количества покупаемого товара и вывод информации об его остатках. 

328 roosit:

Много лет в разработке платформы я использовал Eclipse PHP Developers, отличный инструмент, много возможностей. Но, год назад я перешел на PHPStorm, он платный, но бесплатную лицензию выдают разработчикам открытого ПО. В PHPStorm и WetStorm есть все, что необходимо для комфортной разработки современному программисту (разработка в node.js, php, mysql и т.п.). Руки дойдут, напишу статью, как использовать его в повседневной жизни.

По поводу корзины, используется уже виджеты, которые полностью работают на стороне клиента, т.е. все шаблоны, управляющие скрипты и т.п. работают на стороне клиента в чистом JS. Перегрузка элементов шаблона в них тоже возможна, но как показала практика, не столь эффективна, так как проще делать перегрузку всего приложения (модуля). При всей сложности, на самом деле все довольно таки просто, если разобраться в структуре платформы Абрикос. Например, валюта корзины правится в этом файле https://github.com/abricos/abricos-mod-eshopcart/blob/stable/js/ordering.htm, строка 18

Я все же рекомендую использовать сейчас в построении сайтов новую версия ядра 0.5.6 и его модулей. Работа над этой версией в плотном режиме идет уже более года и в ней много различных вкусностей именно для разработчиков. А самое главное, новая версия переведена на более современные фреймоврки, такие как AlloyUI, JQuery, Bootstrap3 и т.п.

Как я и сказал выше, сейчас проще вынести настройку валюты новой версии интернет-магазина в админку, делов на пару часов. 

В общем, я предлагаю поднимать сайт магазина на новой версии, тем более сайты на ней получаются куда гораздо красивее и удобнее (например http://shkafkupekazan.ru/http://rustoma.ru/).

Каким образом можно поступить.

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

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

329 sandro:

Спасибо. Всё получилось. В общем, сказать честно, перейдя по ссылке  github.com/abricos/abricos/ неопытному человеку становится страшновато. Нашёл сбоку сайта ссылку на скачивание архива, я так понял, что это не совсем «сборка», а как бы очередная версия голой платформы без модулей, тогда сразу зреет вопрос — где их взять под эту версию? 

И да, установка — прочитав ридми, понял, что инструкция состоит из команд Linux-терминала, какое он имеет отношение к хосту для меня большая загадка, также не понять куда перед установкой ложить скачанные файлы ну и т.д. и т.п. К слову без Ваших мануалов, которые Вы анонсируете, дела не будет... 

330 sandro:

Видимо мне нужно было сюда github.com/abricos/

331 roosit:

Платформа Абрикос — это конструктор сайтов, сервисов и интернет-приложений. Т.е. в отличие от других движков, где необходимо ставить весь набор функций, даже те которые не нужны, в платформе, ставится только все самое необходимое. Поэтому каждая сборка настраивается под отдельный конкретный проект. Будь то интернет-магазин, сервис по управлению личными делами/финансами или иной сервис/портал. Так вот, в новой версии это наконец то удалось достичь средствами автоматизации. Т.е. настраиваем сборку (какие модули, конетнт-файлы, дизайны, фреймфорвки и тп. в ней участвуют), а потом, одной командой осуществляем сборку дистрибутива/рабочую версию для разработчика или итоговую версия для деплоя на боевой сервер.

В данной ссылке и есть сборка интернет-магазина. 

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

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

В данном случае, вы устанавливаете сборку, настраиваете среду разработчика (инструкции в реадми), а потом простыми командами собираете дистрибутив, обновляете зависимые компоненты и делаете выгрузку на боевой сервер. При этом сама сборка скачивает с различных источниках последние версии необходимых библиотек и формирует нужный набор (дистрибутив) для выгрузки на сервер.

Все это позволяет в автоматизированном режиме управлять по несколько десятков сайтов и сервисов, причем на разных хостерах (серверах). В общем, все сделано для того, чтобы максимально эффективно координировать работу множества сайтов в одном месте.

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

1 — путь единичных сайтов. Тогда Нет необходимости ставить сборку. А просто выгружаете готовый дистрибутив-инсталлятор с сайта платформы (скоро появятся)

2 — путь разработчика. Создаете сборку своего проекта (на примере того, что я привел в ссылке), описывая, какие именно модули/шаблоны/страницы конетнта будут на сайта. Снабжаете эту сборку информацией не только о модулях самой платформы, но и сторонними компонентами, например некоторыми плагинами jquery и тп. И потом простыми командами управляете ей.

В данном случае я рекомендую ознакомится с содержанием самой сборки и ее содержимым. Пройтись по ссылкам на подключаемые модули, глянуть на них как на отдельные сущности. Потом развернуть тестовый сервак в VirtualBox и развернуть в нем сборку, следуя readme.

Если будут затруднения по конкретным шагам, пишите, постараюсь помочь.

P.S. Процесс не быстрый, но эффективный, если решили встать на путь разработчика. Если нет, то лучше не терять время )

332 sandro:

Спасибо, для начала хотелось бы посмотреть, что из себя представляет та самая сборка, как её развернуть на сервер? Нужен ВиртуалБокс с установленной Линукс-системой?

333 roosit:

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

Для того, чтобы развернуть сборку, необходимо установить node.js и git. Под линукс это делается просто, без лишних телодвижений. Под windows не пробовал, но практически уверен, что с проблемами. Ибо считаю windows крайне агрессивной средой для веб-разработчика. А так же считаю всякие там denwer-о подобные системы — чистой воды издевательство над собой. но это имхо.

В virualBox у вас будет персональный, полноценный, локальный сервак, с которым вы будете взаимодействовать как с натуральным хостингом, обращаясь к нему по установленному IP. 

В двух словах по установке:

1. разворачиваете debian-server в VirtualBox c apache, mysql, php;

2. ставите компоненты по readme из ссылки к сборке (https://github.com/abricos/abricos/)

3. в настройках сети виртуальной машины ставите виртуальный адаптер и назначаете ему IP адрес

4. открываете сайт в браузере основной операционке по IP адресу виртуального сервака

334 sandro:

Здравствуйте, на данный момент занялся установкой Debian на VirtualBox. Затем попробую установить компоненты  по ридми. Если будут вопросы непременно обращусь, но по всей видимости эта тема «Смена валюты» в дальнейшем будет уже не актуальна.

335 sandro:

Ну и вот, собственно первый результат:

root@debian:~# apt-get install nodejs npm
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
E: Не удалось найти пакет nodejs
E: Не удалось найти пакет npm

Все это производилось на Debian 7 (debian-server почему-то мне найти не удалось) остальные компоненты ставил PHP5, MySQL, Apache2 ставил вручную. Перед этим пробовал серверную Ubuntu 12.04, но там в терминале почему-то текст кириллицы отображался кубиками и на каком-то этапе (по ридми) ничего не получилось и я не мог понять почему, единственное что было — «visit to debian for help» или как-то так. Потом уже установил сам Debian и вот теперь в нем колупаюсь.

336 roosit:

Readme писал недавно специально для ubuntu (под debian пока не тестил), так как он наиболее популярный среди пользователей, хотя сам уже несколько лет сижу под дебиан.

Для дебиан вот официальная документация по установке node.js и npm: https://github.com/joyent/node/wiki/installing-node.js-via-package-manager

Если по readme дальше будут глюки, сообщайте, будут вносить изменения в него.

P.S. по поводу этой темы, да, не актуально, лучше создайте новую тему.