Всё о Embed Cart

Почему это все так хорошо?

  1. Во первых скорость работы - быстрее чем большинство сайтов
  2. Станицы грузятся без перезагрузки браузера - система грузит только контент
  3. Все страницы ЧПУ (человеку понятный URL) даже в админ панеле
  4. Полностью открытый код и простота изменений. Это чистый линейный PHP код. Никаких фреймворков - нагрузка на сервер только от нужных функций.
  5. Свой шаблонный движок похожий на Smarty, но гораздно удобнее. Не нужны PHP скобки для интеграции шаблонов. Так же поддержка языковых переменных и храниние результата в кэшэ без генерации шаблонов каждый раз.
  6. Картинки проходят через ImageMagick(Photoshop 100% качество, GD как опция тоже доступна). На каждой странице свой размер картинок - что хорошо для более быстрой загрузки и SEO. Картинки хранятся в кэшэ и не генерируются повторно

 

Кто сделал эту CMS

  1. Опыт работы с E-Commerce начиная с 2005го года
  2. Много лет на фрилансе. Много выполненных задач
  3. Изначально создавал SPA-Cart.com
  4. Уже богатый опыт работы со SPA-Cart

 

Просто поиграйте с Демо и, я уверен, вам понравится.

 

Спасибо за прочтение этой статьи. Дальше будет только лучше!



Структура скриптов


Всего имеется 3 главных папки:

- Includes
- Pages
- Templates

Все функции внутри папки includes/.

Все страницы что видно на сайте - папка pages/. Скрипт отображения страниц только один - index.php. URL парсится по страницам, к примеру /help URL покажет pages/help.php скрипт. Все это делает человекопонятные URL.

Шаблоны находятся в папке templates и внутри папки все шаблоны находятся в папках folders с именем скрпита из папки pages/.


Движок шаблонов


Шаблоны поддерживают PHP теги и так же имеют свои переменные

Поддержимаемые теги:

a. Любая переменная выглядит как {$var} - это аналогично <?php echo $var; ?>. Если это array или object - так же как в нативном PHP, к примеру {$var['var']}

b.
{foreach $array as $k=>$v}
{/foreach}

будет

<?php
foreach ($array as $k=>$v) {
}
?>

Внутри можно использовать тег {$v}

И так далее. То есть вместо <?php CODE ?> вы просто пишете {CODE}, что экономит время разработки.

c. {if $tmp == '1' or $var == '2'} {/if}

будет

<?php
if ($tmp == '1' or $var == '2') {
}
?>

Так же

{else if [CODE]}
И
{else }

d. {php $var = 1+2;}
Это просто чтобы обернуть код в PHP скобки.

e. {price $var}

Показываем символ валюты, курс валют и .00 в конце

f. {weight $var}

Так же как и с ценой

g. {include="TEMPALTE PATH"}

к примеру {include="common/products.php"}

h. {lng[Hello world]} - языковая переменная. Очень удобно для мульти-язычных сайтов.

Все теги {lng..} помещаются в кэш и не регенерируются каждый раз.

{lng[Hello|lower]} - lowcase.
{lng[Hello|js]} - replace line breaks and " character with \".
{lng[Hello|escape]} - replace " character with \".

Вы так же можете использовать {lng} в JavaScript - работает так же. Поддержка только "lower", так как остальное уже в коде для JS.


Стандарты MySQL


Как вы знаете - PHP функция для MySQL mysql_query. Но довольно проблематично работать с данными.

Embed-Cart MySQL соединение прописано в $db переменной.

Список функций

1.
$db->all("SELECT * FROM table");
Выведет массив всех записей таблицы.

2.
$db->row(SELECT * FROM table WHERE field='$value'");
Выведет одну строку - не нужно добавлять "LIMIT 1".

3.
$db->field("SELET field FROM table WHERE ...");
Выведет только одно поле как переменная, не массив.

4.
$db->array2insert("table", $array);
Массив вида
$array = array(
'field' => $value,
...
);

Не нужно прописывать "addslashes" в этом случае.

ID послденго поля
$inserted_id = $db->insert_id();

5.
$db->array2update("table", $array, "id='$value'");
Так же как и выше, а 3е поле - это where условие.

6.
$db->query("ANY QUERY");
просто mysql_query.
* Вы можете запросить помощь подключения или настройки используя форму связи



Наверх