Merge branch 'master' of github.com:thelia/thelia

This commit is contained in:
Etienne Roudeix
2013-11-08 11:26:22 +01:00
40 changed files with 1168 additions and 1071 deletions

View File

@@ -7,7 +7,6 @@ Thelia
[Thelia](http://thelia.net/v2) is an open source tool for creating e-business websites and managing online content. This software is published under GPL.
Here is the current developping next major version. You can download this version for testing or see the code.
Here is the most recent developed code for the next major version (v2). You can download this version for testing or having a look on the code (or anything you wish, respecting GPL). See http://thelia.net/v2 web site for more information.
Most part of the code can possibly change, a large part will be refactor soon, graphical setup does not exist yet.

View File

@@ -15,7 +15,7 @@ define('DS' , DIRECTORY_SEPARATOR);
$loader = require __DIR__ . "/vendor/autoload.php";
if (!file_exists(THELIA_ROOT . '/local/config/database.yml') && !defined('THELIA_INSTALL_MODE')) {
if (!file_exists(THELIA_CONF_DIR . 'database.yml') && !defined('THELIA_INSTALL_MODE')) {
$sapi = php_sapi_name();
if (substr($sapi, 0, 3) == 'cli') {
define('THELIA_INSTALL_MODE', true);
@@ -24,4 +24,4 @@ if (!file_exists(THELIA_ROOT . '/local/config/database.yml') && !defined('THELIA
header('location: '.$request->getSchemeAndHttpHost() . '/install');
exit;
}
}
}

View File

@@ -180,8 +180,8 @@ class Install extends ContainerAwareCommand
{
$fs = new Filesystem();
$sampleConfigFile = THELIA_ROOT . "/local/config/database.yml.sample";
$configFile = THELIA_ROOT . "/local/config/database.yml";
$sampleConfigFile = THELIA_CONF_DIR . "database.yml.sample";
$configFile = THELIA_CONF_DIR . "database.yml";
$fs->copy($sampleConfigFile, $configFile, true);

View File

@@ -104,6 +104,24 @@ class CustomerController extends BaseFrontController
$this->dispatch(TheliaEvents::CUSTOMER_CREATEACCOUNT, $customerCreateEvent);
$newCustomer = $customerCreateEvent->getCustomer();
// Newsletter
if (true === $form->get('newsletter')->getData()) {
$newsletterEmail = $newCustomer->getEmail();
$nlEvent = new NewsletterEvent($newsletterEmail, $this->getRequest()->getSession()->getLang()->getLocale());
$nlEvent->setFirstname($newCustomer->getFirstname());
$nlEvent->setLastname($newCustomer->getLastname());
// Security : Check if this new Email address already exist
if (null !== $newsletter = NewsletterQuery::create()->findOneByEmail($newsletterEmail)) {
$nlEvent->setId($newsletter->getId());
$this->dispatch(TheliaEvents::NEWSLETTER_UPDATE, $nlEvent);
} else {
$this->dispatch(TheliaEvents::NEWSLETTER_SUBSCRIBE, $nlEvent);
}
}
$this->processLogin($customerCreateEvent->getCustomer());
$cart = $this->getCart($this->getRequest());

View File

@@ -62,7 +62,7 @@ class TemplateHelper
public function getActiveFrontTemplate() {
return new TemplateDefinition(
ConfigQuery::read('active-admin-template', 'default'),
ConfigQuery::read('active-front-template', 'default'),
TemplateDefinition::FRONT_OFFICE
);
}
@@ -130,7 +130,7 @@ class TemplateHelper
*/
public function walkDir($directory, $walkMode, Translator $translator, $currentLocale, &$strings) {
$num_files = 0;
$num_texts = 0;
if ($walkMode == self::WALK_MODE_PHP) {
$prefix = '\-\>[\s]*trans[\s]*\(';
@@ -155,7 +155,7 @@ class TemplateHelper
if ($fileInfo->isDot()) continue;
if ($fileInfo->isDir()) $num_files += $this->walkDir($fileInfo->getPathName(), $walkMode, $translator, $currentLocale, $strings);
if ($fileInfo->isDir()) $num_texts += $this->walkDir($fileInfo->getPathName(), $walkMode, $translator, $currentLocale, $strings);
if ($fileInfo->isFile()) {
@@ -186,18 +186,19 @@ class TemplateHelper
$strings[$hash]['files'][] = $short_path;
}
}
else
$num_files++;
else {
$num_texts++;
// remove \'
$match = str_replace("\\'", "'", $match);
// remove \'
$match = str_replace("\\'", "'", $match);
$strings[$hash] = array(
'files' => array($short_path),
'text' => $match,
'translation' => $translator->trans($match, array(), 'messages', $currentLocale, false),
'dollar' => strstr($match, '$') !== false
);
$strings[$hash] = array(
'files' => array($short_path),
'text' => $match,
'translation' => $translator->trans($match, array(), 'messages', $currentLocale, false),
'dollar' => strstr($match, '$') !== false
);
}
}
}
}
@@ -205,7 +206,7 @@ class TemplateHelper
}
}
return $num_files;
return $num_texts;
} catch (\UnexpectedValueException $ex) {
echo $ex;

View File

@@ -75,7 +75,7 @@ class Thelia extends Kernel
}
$definePropel = new DefinePropel(new DatabaseConfiguration(),
Yaml::parse(THELIA_ROOT . '/local/config/database.yml'));
Yaml::parse(THELIA_CONF_DIR . 'database.yml'));
$serviceContainer = Propel::getServiceContainer();
$serviceContainer->setAdapterClass('thelia', 'mysql');
$manager = new ConnectionManagerSingle();

View File

@@ -215,7 +215,7 @@ class TheliaHttpKernel extends HttpKernel
$storage = new Session\Storage\NativeSessionStorage();
if (Model\ConfigQuery::read("session_config.default")) {
$storage->setSaveHandler(new Session\Storage\Handler\NativeFileSessionHandler(Model\ConfigQuery::read("session_config.save_path", THELIA_ROOT . '/local/session/')));
$storage->setSaveHandler(new Session\Storage\Handler\NativeFileSessionHandler(Model\ConfigQuery::read("session_config.save_path", THELIA_LOCAL_DIR . 'session/')));
} else {
$handlerString = Model\ConfigQuery::read("session_config.handlers", 'Symfony\Component\HttpFoundation\Session\Storage\Handler\NativeFileSessionHandler');

View File

@@ -89,6 +89,14 @@ class CustomerCreateForm extends AddressCreateForm
"for" => "password_confirmation"
)
))
// Add Newsletter
->add("newsletter", "checkbox", array(
"label" => Translator::getInstance()->trans('I would like to receive the newsletter or the latest news.'),
"label_attr" => array(
"for" => "newsletter"
),
"required" => false
))
// Add terms & conditions
->add("agreed", "checkbox", array(
"constraints" => array(

View File

@@ -55,16 +55,7 @@ class CustomerProfileUpdateForm extends CustomerCreateForm
->remove("password")
->remove("password_confirm")
// Remove Terms & conditions
->remove("agreed")
// Add Newsletter
->add("newsletter", "checkbox", array(
"label" => Translator::getInstance()->trans('I would like to receive the newsletter or the latest news.'),
"label_attr" => array(
"for" => "newsletter"
),
"required" => false
));
->remove("agreed");
}
/**

View File

@@ -83,7 +83,7 @@ class NewsletterForm extends BaseForm
{
$customer = NewsletterQuery::create()->findOneByEmail($value);
if ($customer) {
$context->addViolation("You are already subscribed!");
$context->addViolation("You are already registered!");
}
}

View File

@@ -27,6 +27,8 @@ namespace Thelia\Module;
use Propel\Runtime\Connection\ConnectionInterface;
use Propel\Runtime\Propel;
use Symfony\Component\DependencyInjection\ContainerAware;
use Symfony\Component\EventDispatcher\EventDispatcherInterface;
use Symfony\Component\HttpFoundation\Request;
use Thelia\Model\Map\ModuleTableMap;
use Thelia\Model\ModuleI18nQuery;
use Thelia\Model\Map\ModuleImageTableMap;
@@ -37,7 +39,8 @@ use Thelia\Model\Module;
use Thelia\Model\ModuleImage;
use Thelia\Model\ModuleQuery;
abstract class BaseModule extends ContainerAware
class BaseModule extends ContainerAware implements BaseModuleInterface
{
const CLASSIC_MODULE_TYPE = 1;
const DELIVERY_MODULE_TYPE = 2;
@@ -48,10 +51,8 @@ abstract class BaseModule extends ContainerAware
protected $reflected;
public function __construct()
{
}
protected $dispatcher = null;
protected $request = null;
public function activate($moduleModel = null)
{
@@ -102,7 +103,7 @@ abstract class BaseModule extends ContainerAware
public function hasContainer()
{
return null === $this->container;
return null !== $this->container;
}
public function getContainer()
@@ -114,6 +115,41 @@ abstract class BaseModule extends ContainerAware
return $this->container;
}
public function hasRequest() {
return null !== $this->request;
}
public function setRequest(Request $request) {
$this->request = $request;
}
public function getRequest() {
if ($this->hasRequest() === false) {
throw new \RuntimeException("Sorry, the request is not available in this context");
}
return $this->request;
}
public function hasDispatcher() {
return null !== $this->dispatcher;
}
public function setDispatcher(EventDispatcherInterface $dispatcher) {
$this->dispatcher = $dispatcher;
}
public function getDispatcher() {
if ($this->hasDispatcher() === false) {
throw new \RuntimeException("Sorry, the dispatcher is not available in this context");
}
return $this->dispatcher;
}
public function setTitle(Module $module, $titles)
{
if (is_array($titles)) {
@@ -226,6 +262,7 @@ abstract class BaseModule extends ContainerAware
public function install(ConnectionInterface $con = null)
{
// Implement this method to do something useful.
}
public function preActivation(ConnectionInterface $con = null)
@@ -235,7 +272,7 @@ abstract class BaseModule extends ContainerAware
public function postActivation(ConnectionInterface $con = null)
{
// Implement this method to do something useful.
}
public function preDeactivation(ConnectionInterface $con = null)
@@ -245,12 +282,11 @@ abstract class BaseModule extends ContainerAware
public function postDeactivation(ConnectionInterface $con = null)
{
// Implement this method to do something useful.
}
public function destroy(ConnectionInterface $con = null)
public function destroy(ConnectionInterface $con = null, $deleteModuleData = false)
{
// Implement this method to do something useful.
}
}
}

View File

@@ -23,14 +23,21 @@
namespace Thelia\Module;
use Propel\Runtime\Connection\ConnectionInterface;
use Symfony\Component\EventDispatcher\EventDispatcherInterface;
use Symfony\Component\HttpFoundation\Request;
interface BaseModuleInterface
{
public function setRequest(Request $request);
public function getRequest();
public function install(ConnectionInterface $con = null);
public function setDispatcher(EventDispatcherInterface $dispatcher);
public function getDispatcher();
public function preActivation(ConnectionInterface $con = null);
public function postActivation(ConnectionInterface $con = null);
public function preDeactivation(ConnectionInterface $con = null);
public function postDeactivation(ConnectionInterface $con = null);
public function destroy(ConnectionInterface $con = null, $deleteModuleData = false);
}

View File

@@ -41,6 +41,9 @@ class ModuleActivateCommandTest extends \PHPUnit_Framework_TestCase
$module = ModuleQuery::create()->findOne();
if (null !== $module) {
$prev_activation_status = $module->getActivate();
$application = new Application($this->getKernel());
$module->setActivate(BaseModule::IS_NOT_ACTIVATED);
@@ -58,7 +61,12 @@ class ModuleActivateCommandTest extends \PHPUnit_Framework_TestCase
"module" => $module->getCode(),
));
$this->assertEquals(BaseModule::IS_ACTIVATED, ModuleQuery::create()->findPk($module->getId())->getActivate());
$activated = ModuleQuery::create()->findPk($module->getId())->getActivate();
// Restore activation status
$module->setActivate($prev_activation_status)->save();
$this->assertEquals(BaseModule::IS_ACTIVATED, $activated);
}
}

View File

@@ -7,7 +7,7 @@ INSERT INTO `lang`(`id`,`title`,`code`,`locale`,`url`,`date_format`,`time_format
INSERT INTO `config` (`name`, `value`, `secured`, `hidden`, `created_at`, `updated_at`) VALUES
('session_config.default', '1', 1, 1, NOW(), NOW()),
('verifyStock', '1', 0, 0, NOW(), NOW()),
('active-template', 'default', 0, 0, NOW(), NOW()),
('active-front-template', 'default', 0, 0, NOW(), NOW()),
('active-admin-template', 'default', 0, 0, NOW(), NOW()),
('active-pdf-template', 'default', 0, 0, NOW(), NOW()),
('default_lang_without_translation', '1', 1, 1, NOW(), NOW()),

View File

@@ -79,7 +79,7 @@ return array (
'Address Line 2' => 'Adresse suite',
'Additional address' => 'Adresse complémentaire',
'Address Line 3' => 'Adresse suite',
'Zip code' => 'Code posta',
'Zip code' => 'Code postal',
'City' => 'Ville',
'Country' => 'Pays',
'Email Address' => 'Adresse e-mail',

View File

@@ -1,6 +1,6 @@
{extends file="admin-layout.tpl"}
{block name="page-title"}{intl l='Taxes rules'}{/block}
{block name="page-title"}{intl l='Back-office users'}{/block}
{block name="check-resource"}admin.configuration.administrator{/block}
{block name="check-access"}view{/block}
@@ -9,12 +9,12 @@
<div>
<div id="wrapper" class="container">
<div class="clearfix">
<ul class="breadcrumb">
<li><a href="{url path='/admin/home'}">{intl l="Home"}</a></li>
<li><a href="{url path='/admin/configuration'}">{intl l="Configuration"}</a></li>
<li><a href="{url path='/admin/configuration/administrators'}">{intl l="Administrators"}</a></li>
<li><a href="{url path='/admin/configuration/administrators'}">{intl l="Back-office users"}</a></li>
</ul>
</div>
@@ -37,8 +37,8 @@
<thead>
<tr>
<th>{intl l="Login"}</th>
<th>{intl l="FirstName"}</th>
<th>{intl l="LastName"}</th>
<th>{intl l="First Name"}</th>
<th>{intl l="Last Name"}</th>
<th>{intl l="Profile"}</th>
<th class="col-md-1">{intl l="Actions"}</th>
</tr>
@@ -82,7 +82,7 @@
{/loop}
</tbody>
</tbody>
</table>
</div>
</div>

View File

@@ -21,9 +21,9 @@
<div class="row">
<div class="col-md-12">
<div class="general-block-decorator">
<form action="" method="">
<table class="table table-striped table-condensed table-left-aligned">
<caption>
{intl l="Languages management"}
@@ -98,13 +98,13 @@
<div class="form-group {if $error}has-error{/if}" >
<label for="{$label_attr.for}" class="label-control">{intl l="If a translation is missing or incomplete :"}</label>
<div class="input-group">
<select name="{$name}" id="{$label_attr.for}" data-toggle="selectpicker">
<select name="{$name}" id="{$label_attr.for}" data-toggle="selectpicker" class="form-control">
{foreach $choices as $choice}
<option value="{$choice->value}" {if $lang_without_translation == $choice->value}selected="selected"{/if}>{$choice->label}</option>
{/foreach}
</select>
<div class="input-group-btn">
<button type="submit" class="btn btn-default btn-primary"><span class="glyphicon glyphicon-check"></span></button>
<button type="submit" class="btn btn-default btn-primary"><span class="glyphicon glyphicon-check"></span> {intl l='Save'}</button>
</div>
</div>
</div>
@@ -115,7 +115,7 @@
</div>
<div class="col-md-6">
<div class="general-block-decorator clearfix">
<div class="title title-without-tabs">{intl l="Using a domain or subdomain for each language"}</div>
{form name="thelia.lang.url"}
<form action="{url path="/admin/configuration/languages/updateUrl"}" method="post">

View File

@@ -1,195 +1,205 @@
<?php
return array(
'404' => '404',
'The page cannot be found' => 'The page cannot be found',
'Account' => 'Account',
'Change Password' => 'Change Password',
'Login Information' => 'Login Information',
'Update Profile' => 'Update Profile',
'Personal Informations' => 'Personal Informations',
'Select Title' => 'Select Title',
'Placeholder firstname' => 'John',
'Placeholder lastname' => 'Doe',
'Placeholder email' => 'johndoe@domain.com',
'Update' => 'Update',
'My Account' => 'My Account',
'Personal Information' => 'Personal Information',
'Change my account information' => 'Change my account information',
'Change my password' => 'Change my password',
'My Address book' => 'My Address book',
'Add a new address' => 'Add a new address',
'My Address Books' => 'My Address Books',
'Address %nb' => 'Address %nb',
'Edit this address' => 'Edit this address',
'Edit' => 'Edit',
'Do you really want to delete this address ?' => 'Do you really want to delete this address ?',
'Remove this address' => 'Remove this address',
'Cancel' => 'Cancel',
'My Orders' => 'My Orders',
'List of orders' => 'List of orders',
'Order Number' => 'Order Number',
'Date' => 'Date',
'Amount' => 'Amount',
'Status' => 'Status',
'View' => 'View',
'View order %ref as pdf document' => 'View order %ref as pdf document',
'Order details' => 'Order details',
'Warning' => 'Warning',
'You don\'t have orders yet.' => 'You don\'t have orders yet.',
'Address Update' => 'Address update',
'missing or invalid data' => 'missing or invalid data',
'Address' => 'Address',
'Placeholder address label' => 'Home, Work office, other',
'Placeholder address1' => '76 Ninth Avenue',
'Placeholder address2' => 'Address',
'Placeholder zipcode' => 'NY 10011',
'Placeholder city' => 'New York',
'Select Country' => 'Select Country',
'Placeholder phone' => 'Phone number',
'Placeholder cellphone' => 'Cellular phone number',
'Add a New Address' => 'Add a new address',
'Create New Address' => 'Create New Address',
'Create' => 'Create',
'Cart' => 'Cart',
'Your Cart' => 'Your Cart',
'Product Name' => 'Product Name',
'Name' => 'Name',
'Unit Price' => 'Unit Price',
'Price' => 'Price',
'Quantity' => 'Quantity',
'Qty' => 'Qty',
'Total' => 'Total',
'Available' => 'Available',
'In Stock' => 'In Stock',
'Out of Stock' => 'Out of stock',
'No.' => 'No.',
'Remove' => 'Remove',
'instead of' => 'instead of',
'Continue Shopping' => 'Continue Shopping',
'Proceed checkout' => 'Proceed checkout',
'You have no items in your shopping cart.' => 'You have no items in your shopping cart.',
'Upsell Products' => 'Upsell Products',
'No products available in this category' => 'No products available in this category',
'Thanks !' => 'Thanks !',
'Thanks for your message, we will contact as soon as possible.' => 'Thanks for your message, we will contact as soon as possible.',
'Contact us' => 'Contact us',
'Send us a message' => 'Send us a message',
'Placeholder contact name' => 'What\'s your name?',
'Placeholder contact email' => 'So I can get back to you.',
'Placeholder contact subject' => 'The subject of your message.',
'Placeholder contact message' => 'And your message...',
'Send' => 'Send',
'View cart' => 'View cart',
'Related' => 'Related',
'Categories' => 'Categories',
'View Cart' => 'View Cart',
'Checkout' => 'Checkout',
'Special Price:' => 'Special Price:',
'Regular Price:' => 'Regular Price:',
'Add to cart' => 'Add to cart',
'View product' => 'View product',
'Item(s)' => 'Item(s)',
'Show' => 'Show',
'per page' => 'per page',
'Sort By' => 'Sort By',
'Position' => 'Position',
'Name ascending' => 'Name ascending',
'Name descending' => 'Name descending',
'Price ascending' => 'Price ascending',
'Price descending' => 'Price descending',
'Rating' => 'Rating',
'View as' => 'View as',
'Grid' => 'Grid',
'List' => 'List',
'Pagination' => 'Pagination',
'Previous' => 'Previous',
'Next' => 'Next',
'Latest' => 'Latest',
'+ View All' => '+ View All',
'Offers' => 'Offers',
'Thelia V2' => 'Thelia V2',
'Skip to content' => 'Skip to content',
'Toggle navigation' => 'Toggle navigation',
'Main Navigation' => 'Main Navigation',
'Log out!' => 'Log out!',
'Register!' => 'Register!',
'Log In!' => 'Log In!',
'Sign In' => 'Sign In',
'Register' => 'Register',
'Home' => 'Home',
'Search a product' => 'Search a product',
'Search...' => 'Search...',
'Minimum 2 characters.' => 'Minimum 2 characters.',
'Search' => 'Search',
'Language:' => 'Language:',
'Currency:' => 'Currency:',
'Free shipping' => 'Free shipping',
'Orders over $50' => 'Orders over $50',
'Secure payment' => 'Secure payment',
'Multi-payment platform' => 'Multi-payment platform',
'Need help ?' => 'Need help ?',
'Questions ? See or F.A.Q.' => 'Questions ? See or F.A.Q.',
'Latest articles' => 'Latest articles',
'No articles currently' => 'No articles currently',
'Useful links' => 'Useful links',
'Login' => 'Login',
'Follow us' => 'Follow us',
'Newsletter' => 'Newsletter',
'Sign up to receive our latest news.' => 'Sign up to receive our latest news.',
'Email address' => 'Email address',
'Your email address' => 'Your email address',
'Subscribe' => 'Subscribe',
'Contact Us' => 'Contact Us',
'Copyright' => 'Copyright',
'Do you have an account?' => 'Do you have an account?',
'Forgot your Password?' => 'Forgot your Password?',
'You are here:' => 'You are here:',
'Billing and delivery' => 'Billing and delivery',
'Check my order' => 'Check my order',
'Newsletter Subscription' => 'Newsletter Subscription',
'You want to subscribe to the newsletter? Please enter your email address below.' => 'You want to subscribe to the newsletter? Please enter your email address below.',
'Thanks for signing up! We\'ll keep you posted whenever we have any new updates.' => 'Thanks for signing up! We\'ll keep you posted whenever we have any new updates.',
'Choose your delivery address' => 'Choose your delivery address',
'Choose your delivery method' => 'Choose your delivery method',
'Back' => 'Back',
'Next Step' => 'Next Step',
'My order' => 'My order',
'Shipping Tax' => 'Shipping Tax',
'You may have a coupon ?' => 'You may have a coupon ?',
'Code :' => 'Code :',
'Coupon code' => 'Coupon code',
'Ok' => 'Ok',
'Delivery address' => 'Delivery address',
'Billing address' => 'Billing address',
'Change address' => 'Change address',
'Choose your payment method' => 'Choose your payment method',
'Secure Payment' => 'Secure Payment',
'You choose to pay by' => 'You choose to pay by',
'Thank you for the trust you place in us.' => 'Thank you for the trust you place in us.',
'A summary of your order email has been sent to the following address' => 'A summary of your order email has been sent to the following address',
'Your order will be confirmed by us upon receipt of your payment.' => 'Your order will be confirmed by us upon receipt of your payment.',
'Order number' => 'Order number',
'Go home' => 'Go home',
'Password' => 'Password',
'Password Forgotten' => 'Password Forgotten',
'Please enter your email address below.' => 'Please enter your email address below.',
'You will receive a link to reset your password.' => 'You will receive a link to reset your password.',
'Ref.' => 'Ref.',
'Availability' => 'Availability',
'In stock' => 'In stock',
'Out of stock' => 'Out of stock',
'Description' => 'Description',
'Additional Info' => 'Additional Info',
'Previous product' => 'Previous product',
'Next product' => 'Next product',
'Create New Account' => 'Create New Account',
'Delivery Informations' => 'Delivery Informations',
'Placeholder company' => 'Google',
'Sign in' => 'Sign in',
'Search Result for' => 'Search Result for',
'No results found' => 'No results found',
'View all' => 'View all',
'products' => 'products',
'offers' => 'offers',
'%nb Item' => '%nb Item',
'%nb Items' => '%nb Items',
'+ View All' => '+ View All',
'404' => '404',
'A summary of your order email has been sent to the following address' => 'A summary of your order email has been sent to the following address',
'Account' => 'Account',
'Add a new address' => 'Add a new address',
'Add to cart' => 'Add to cart',
'Additional Info' => 'Additional Info',
'Address %nb' => 'Address %nb',
'Address Update' => 'Address update',
'Address' => 'Address',
'Amount' => 'Amount',
'Availability' => 'Availability',
'Available' => 'Available',
'Back' => 'Back',
'Billing address' => 'Billing address',
'Billing and delivery' => 'Billing and delivery',
'Cancel' => 'Cancel',
'Cart' => 'Cart',
'Categories' => 'Categories',
'Change address' => 'Change address',
'Change my account information' => 'Change my account information',
'Change my password' => 'Change my password',
'Change Password' => 'Change Password',
'Check my order' => 'Check my order',
'Checkout' => 'Checkout',
'Choose your delivery address' => 'Choose your delivery address',
'Choose your delivery method' => 'Choose your delivery method',
'Choose your payment method' => 'Choose your payment method',
'Code :' => 'Code :',
'Complementary address' => 'Complementary address',
'Contact Us' => 'Contact Us',
'Continue Shopping' => 'Continue Shopping',
'Copyright' => 'Copyright',
'Coupon code' => 'Coupon code',
'Create New Account' => 'Create New Account',
'Create New Address' => 'Create New Address',
'Create' => 'Create',
'Currency:' => 'Currency:',
'Date' => 'Date',
'Delete address' => 'Delete address',
'Delivery address' => 'Delivery address',
'Delivery Informations' => 'Delivery Informations',
'Demo product description' => 'Demo product description',
'Demo product title' => 'Demo product title',
'Description' => 'Description',
'Do you have an account?' => 'Do you have an account?',
'Do you really want to delete this address ?' => 'Do you really want to delete this address ?',
'Edit this address' => 'Edit this address',
'Edit' => 'Edit',
'Email address' => 'Email address',
'Follow us' => 'Follow us',
'Forgot your Password?' => 'Forgot your Password?',
'Free shipping' => 'Free shipping',
'Go home' => 'Go home',
'Grid' => 'Grid',
'Home address' => 'Home address',
'Home' => 'Home',
'In Stock' => 'In Stock',
'instead of' => 'instead of',
'Item(s)' => 'Item(s)',
'Language:' => 'Language:',
'Latest articles' => 'Latest articles',
'Latest products' => 'Latest products',
'Latest' => 'Latest',
'List of orders' => 'List of orders',
'List' => 'List',
'Log In!' => 'Log In!',
'Log out!' => 'Log out!',
'Login Information' => 'Login Information',
'Login' => 'Login',
'Main Navigation' => 'Main Navigation',
'Minimum 2 characters.' => 'Minimum 2 characters.',
'missing or invalid data' => 'missing or invalid data',
'Multi-payment platform' => 'Multi-payment platform',
'My Account' => 'My Account',
'My Address book' => 'My Address book',
'My Address Books' => 'My Address Books',
'My order' => 'My order',
'My Orders' => 'My Orders',
'Name ascending' => 'Name ascending',
'Name descending' => 'Name descending',
'Name' => 'Name',
'Need help ?' => 'Need help ?',
'Newsletter Subscription' => 'Newsletter Subscription',
'Newsletter' => 'Newsletter',
'Next product' => 'Next product',
'Next Step' => 'Next Step',
'Next' => 'Next',
'No articles currently' => 'No articles currently',
'No products available in this category' => 'No products available in this category',
'No results found' => 'No results found',
'No.' => 'No.',
'Offers' => 'Offers',
'Ok' => 'Ok',
'Order details' => 'Order details',
'Order number' => 'Order number',
'Orders over $50' => 'Orders over $50',
'Out of Stock' => 'Out of stock',
'Pagination' => 'Pagination',
'Password Forgotten' => 'Password Forgotten',
'Password' => 'Password',
'per page' => 'per page',
'Personal Informations' => 'Personal Informations',
'Placeholder address label' => 'Home, Work office, other',
'Placeholder address1' => '76 Ninth Avenue',
'Placeholder address2' => 'Address',
'Placeholder cellphone' => 'Cellular phone number',
'Placeholder city' => 'New York',
'Placeholder company' => 'Google',
'Placeholder contact email' => 'So I can get back to you.',
'Placeholder contact message' => 'And your message...',
'Placeholder contact name' => 'What\'s your name?',
'Placeholder contact subject' => 'The subject of your message.',
'Placeholder email' => 'johndoe@domain.com',
'Placeholder firstname' => 'John',
'Placeholder lastname' => 'Doe',
'Placeholder phone' => 'Phone number',
'Placeholder zipcode' => 'NY 10011',
'Please enter your email address below.' => 'Please enter your email address below.',
'Position' => 'Position',
'Previous product' => 'Previous product',
'Previous' => 'Previous',
'Price ascending' => 'Price ascending',
'Price descending' => 'Price descending',
'Price' => 'Price',
'Proceed checkout' => 'Proceed checkout',
'Product Empty Button' => 'Add my first product',
'Product Empty Message' => 'It\'s really quick to add a product.
<ol>
<li>Check <strong>NEW</strong> under the details tab if you want to see your product in the latest product section.</li>
<li>Check <strong>SALE</strong> under the details tab if you want to see your product in the offer product section.</li>
</ol>',
'Product Empty Title' => 'Welcome',
'Product Name' => 'Product Name',
'Product Offers' => 'Product Offers',
'products' => 'products',
'Qty' => 'Qty',
'Quantity' => 'Quantity',
'Questions ? See or F.A.Q.' => 'Questions ? See or F.A.Q.',
'Rating' => 'Rating',
'Ref.' => 'Ref.',
'Register!' => 'Register!',
'Register' => 'Register',
'Regular Price:' => 'Regular Price:',
'Related' => 'Related',
'Remove this address' => 'Remove this address',
'Remove' => 'Remove',
'Search a product' => 'Search a product',
'Search Result for' => 'Search Result for',
'Search' => 'Search',
'Search...' => 'Search...',
'Secure payment' => 'Secure payment',
'Secure Payment' => 'Secure Payment',
'Select Country' => 'Select Country',
'Select Title' => 'Select Title',
'Send us a message' => 'Send us a message',
'Send' => 'Send',
'Shipping Tax' => 'Shipping Tax',
'Show' => 'Show',
'Sign In' => 'Sign In',
'Sign up to receive our latest news.' => 'Sign up to receive our latest news.',
'Skip to content' => 'Skip to content',
'Sort By' => 'Sort By',
'Special Price:' => 'Special Price:',
'Status' => 'Status',
'Subscribe' => 'Subscribe',
'Tax Inclusive' => 'Tax Inclusive',
'Thank you for the trust you place in us.' => 'Thank you for the trust you place in us.',
'Thanks !' => 'Thanks !',
'Thanks for signing up! We\'ll keep you posted whenever we have any new updates.' => 'Thanks for signing up! We\'ll keep you posted whenever we have any new updates.',
'Thanks for your message, we will contact as soon as possible.' => 'Thanks for your message, we will contact as soon as possible.',
'The page cannot be found' => 'The page cannot be found',
'Thelia V2' => 'Thelia V2',
'Toggle navigation' => 'Toggle navigation',
'Total' => 'Total',
'TTC' => 'TTC',
'Unit Price' => 'Unit Price',
'Update Profile' => 'Update Profile',
'Update' => 'Update',
'Upsell Products' => 'Upsell Products',
'Useful links' => 'Useful links',
'View all' => 'View all',
'View as' => 'View as',
'View Cart' => 'View Cart',
'View order %ref as pdf document' => 'View order %ref as pdf document',
'View product' => 'View product',
'View' => 'View',
'Warning' => 'Warning',
'Yes' => 'Yes',
'You are here:' => 'You are here:',
'You choose to pay by' => 'You choose to pay by',
'You don\'t have orders yet.' => 'You don\'t have orders yet.',
'You have no items in your shopping cart.' => 'You have no items in your shopping cart.',
'You may have a coupon ?' => 'You may have a coupon ?',
'You want to subscribe to the newsletter? Please enter your email address below.' => 'You want to subscribe to the newsletter? Please enter your email address below.',
'You will receive a link to reset your password.' => 'You will receive a link to reset your password.',
'Your Cart' => 'Your Cart',
'Your email address' => 'Your email address',
'Your order will be confirmed by us upon receipt of your payment.' => 'Your order will be confirmed by us upon receipt of your payment.',
);

View File

@@ -1,214 +1,201 @@
<?php
return array (
'+ View All' => '',
'Thelia V2' => '',
'Skip to content' => '',
'Toggle navigation' => '',
'Main Navigation' => '',
'Register!' => '',
'Log In!' => '',
'Sign In' => '',
'Register' => '',
'Cart' => '',
'View Cart' => '',
'Checkout' => '',
'You have no items in your shopping cart.' => '',
'Home' => '',
'Search a product' => '',
'Search...' => '',
'Minimum 2 characters.' => '',
'Search' => '',
'Language:' => '',
'Currency:' => '',
'Latest' => '',
'Offers' => '',
'Special Price:' => '',
'Regular Price:' => '',
'Free shipping' => '',
'Orders over $50' => '',
'Secure payment' => '',
'Multi-payment platform' => '',
'Need help ?' => '',
'Questions ? See or F.A.Q.' => '',
'Latest articles' => '',
'No articles currently' => '',
'Useful links' => '',
'Login' => '',
'Follow us' => '',
'Newsletter' => '',
'Sign up to receive our latest news.' => '',
'Email address' => '',
'Your email address' => '',
'Subscribe' => '',
'Contact Us' => '',
'Copyright' => '',
'You are here:' => '',
'Show' => '',
'per page' => '',
'Sort By' => '',
'Name ascending' => '',
'Name descending' => '',
'Price ascending' => '',
'Price descending' => '',
'View as' => '',
'View product' => '',
'Pagination' => '',
'No products available in this category' => '',
'Categories' => '',
'Ref.' => '',
'Availability' => '',
'In stock' => '',
'Out of stock' => '',
'Add to cart' => '',
'Description' => '',
'Additional Info' => '',
'View cart' => '',
'Continue Shopping' => '',
'Upsell Products' => '',
'Your Cart' => '',
'Billing and delivery' => '',
'Check my order' => '',
'Product Name' => '',
'Name' => '',
'Unit Price' => '',
'Price' => '',
'Quantity' => '',
'Qty' => '',
'Total' => '',
'Tax Inclusive' => '',
'TTC' => '',
'Available' => '',
'In Stock' => '',
'No.' => '',
'Remove' => '',
'Proceed checkout' => '',
'Warning' => '',
'missing or invalid data' => '',
'Do you have an account?' => '',
'Forgot your Password?' => '',
'Next' => '',
'Log out!' => '',
'My Account' => '',
'Previous product' => '',
'Next product' => '',
'instead of' => '',
'Add a new address' => '',
'Choose your delivery address' => '',
'Address %nb' => '',
'Edit this address' => '',
'Edit' => '',
'Remove this address' => '',
'Cancel' => '',
'Choose your delivery method' => '',
'Back' => '',
'Next Step' => '',
'Delete address' => '',
'Do you really want to delete this address ?' => '',
'No' => '',
'Yes' => '',
'Shipping Tax' => '',
'You may have a coupon ?' => '',
'Code :' => '',
'Coupon code' => '',
'Ok' => '',
'Delivery address' => '',
'Billing address' => '',
'Change address' => '',
'Choose your payment method' => '',
'Secure Payment' => '',
'You choose to pay by' => '',
'Thank you for the trust you place in us.' => '',
'A summary of your order email has been sent to the following address' => '',
'Your order will be confirmed by us upon receipt of your payment.' => '',
'Order number' => '',
'Date' => '',
'Go home' => '',
'Account' => '',
'Personal Information' => '',
'Change my account information' => '',
'Change my password' => '',
'My Address book' => '',
'My Address Books' => '',
'My Orders' => '',
'List of orders' => '',
'Order Number' => '',
'Amount' => '',
'Status' => '',
'View' => '',
'View order %ref as pdf document' => '',
'Order details' => '',
'You don\'t have orders yet.' => '',
'Update Profile' => '',
'Personal Informations' => '',
'Select Title' => '',
'Update' => '',
'Change Password' => '',
'Login Information' => '',
'Create New Address' => '',
'Address' => '',
'Home address' => '',
'Complementary address' => '',
'Select Country' => '',
'Create' => '',
'Related' => '',
'Grid' => '',
'List' => '',
'Next' => '',
'Previous' => '',
/*
'The page cannot be found' => '',
'What\'s your name?' => '',
'So I can get back to you.' => '',
'The subject of your message.' => '',
'And your message...' => '',
'This email already exists.' => '',
'Address label' => '',
'Title' => '',
'First Name' => '',
'Last Name' => '',
'Company Name' => '',
'Street Address' => '',
'Address Line 2' => '',
'Address Line 3' => '',
'City' => '',
'Zip code' => '',
'Country' => '',
'Phone' => '',
'Cellphone' => '',
'Make this address as my primary address' => '',
'Full Name' => '',
'Your Email Address' => '',
'Subject' => '',
'Your Message' => '',
'Please enter your email address' => '',
'No, I am a new customer.' => '',
'Yes, I have a password :' => '',
'Please enter your password' => '',
'This value should not be blank.' => '',
'A user already exists with this email address. Please login or if you\'ve forgotten your password, go to Reset Your Password.' => '',
'This email does not exists' => '',
'Current Password' => '',
'New Password' => '',
'Password confirmation' => '',
'Your current password does not match.' => '',
'Password confirmation is not the same as password field.' => '',
'I would like to receive the newsletter or the latest news.' => '',
*/
'Placeholder firstname' => '',
'Placeholder lastname' => '',
'Placeholder email' => '',
'Placeholder phone' => '',
'Placeholder cellphone' => '',
'Placeholder company' => '',
'Placeholder address1' => '',
'Placeholder address2' => '',
'Placeholder city' => '',
'Placeholder zipcode' => '',
'Placeholder address label' => '',
'Placeholder contact name' => '',
'Placeholder contact email' => '',
'Placeholder contact subject' => '',
'Placeholder contact message' => '',
)
;
return array(
'%nb Item' => '',
'%nb Items' => '',
'+ View All' => '',
'404' => '',
'A summary of your order email has been sent to the following address' => '',
'Account' => '',
'Add a new address' => '',
'Add to cart' => '',
'Additional Info' => '',
'Address %nb' => '',
'Address Update' => '',
'Address' => '',
'Amount' => '',
'Availability' => '',
'Available' => '',
'Back' => '',
'Billing address' => '',
'Billing and delivery' => '',
'Cancel' => '',
'Cart' => '',
'Categories' => '',
'Change address' => '',
'Change my account information' => '',
'Change my password' => '',
'Change Password' => '',
'Check my order' => '',
'Checkout' => '',
'Choose your delivery address' => '',
'Choose your delivery method' => '',
'Choose your payment method' => '',
'Code :' => '',
'Complementary address' => '',
'Contact Us' => '',
'Continue Shopping' => '',
'Copyright' => '',
'Coupon code' => '',
'Create New Account' => '',
'Create New Address' => '',
'Create' => '',
'Currency:' => '',
'Date' => '',
'Delete address' => '',
'Delivery address' => '',
'Delivery Informations' => '',
'Demo product description' => '',
'Demo product title' => '',
'Description' => '',
'Do you have an account?' => '',
'Do you really want to delete this address ?' => '',
'Edit this address' => '',
'Edit' => '',
'Email address' => '',
'Follow us' => '',
'Forgot your Password?' => '',
'Free shipping' => '',
'Go home' => '',
'Grid' => '',
'Home address' => '',
'Home' => '',
'In Stock' => '',
'instead of' => '',
'Item(s)' => '',
'Language:' => '',
'Latest articles' => '',
'Latest products' => '',
'Latest' => '',
'List of orders' => '',
'List' => '',
'Log In!' => '',
'Log out!' => '',
'Login Information' => '',
'Login' => '',
'Main Navigation' => '',
'Minimum 2 characters.' => '',
'missing or invalid data' => '',
'Multi-payment platform' => '',
'My Account' => '',
'My Address book' => '',
'My Address Books' => '',
'My order' => '',
'My Orders' => '',
'Name ascending' => '',
'Name descending' => '',
'Name' => '',
'Need help ?' => '',
'Newsletter Subscription' => '',
'Newsletter' => '',
'Next product' => '',
'Next Step' => '',
'Next' => '',
'No articles currently' => '',
'No products available in this category' => '',
'No results found' => '',
'No.' => '',
'Offers' => '',
'Ok' => '',
'Order details' => '',
'Order number' => '',
'Orders over $50' => '',
'Out of Stock' => '',
'Pagination' => '',
'Password Forgotten' => '',
'Password' => '',
'per page' => '',
'Personal Informations' => '',
'Placeholder address label' => '',
'Placeholder address1' => '',
'Placeholder address2' => '',
'Placeholder cellphone' => '',
'Placeholder city' => '',
'Placeholder company' => '',
'Placeholder contact email' => '',
'Placeholder contact message' => '',
'Placeholder contact name' => '',
'Placeholder contact subject' => '',
'Placeholder email' => '',
'Placeholder firstname' => '',
'Placeholder lastname' => '',
'Placeholder phone' => '',
'Placeholder zipcode' => '',
'Please enter your email address below.' => '',
'Position' => '',
'Previous product' => '',
'Previous' => '',
'Price ascending' => '',
'Price descending' => '',
'Price' => '',
'Proceed checkout' => '',
'Product Empty Button' => '',
'Product Empty Message' => '',
'Product Empty Title' => '',
'Product Name' => '',
'Product Offers' => '',
'products' => '',
'Qty' => '',
'Quantity' => '',
'Questions ? See or F.A.Q.' => '',
'Rating' => '',
'Ref.' => '',
'Register!' => '',
'Register' => '',
'Regular Price:' => '',
'Related' => '',
'Remove this address' => '',
'Remove' => '',
'Search a product' => '',
'Search Result for' => '',
'Search' => '',
'Search...' => '',
'Secure payment' => '',
'Secure Payment' => '',
'Select Country' => '',
'Select Title' => '',
'Send us a message' => '',
'Send' => '',
'Shipping Tax' => '',
'Show' => '',
'Sign In' => '',
'Sign up to receive our latest news.' => '',
'Skip to content' => '',
'Sort By' => '',
'Special Price:' => '',
'Status' => '',
'Subscribe' => '',
'Tax Inclusive' => '',
'Thank you for the trust you place in us.' => '',
'Thanks !' => '',
'Thanks for signing up! We\'ll keep you posted whenever we have any new updates.' => '',
'Thanks for your message, we will contact as soon as possible.' => '',
'The page cannot be found' => '',
'Thelia V2' => '',
'Toggle navigation' => '',
'Total' => '',
'TTC' => '',
'Unit Price' => '',
'Update Profile' => '',
'Update' => '',
'Upsell Products' => '',
'Useful links' => '',
'View all' => '',
'View as' => '',
'View Cart' => '',
'View order %ref as pdf document' => '',
'View product' => '',
'View' => '',
'Warning' => '',
'Yes' => '',
'You are here:' => '',
'You choose to pay by' => '',
'You don\'t have orders yet.' => '',
'You have no items in your shopping cart.' => '',
'You may have a coupon ?' => '',
'You want to subscribe to the newsletter? Please enter your email address below.' => '',
'You will receive a link to reset your password.' => '',
'Your Cart' => '',
'Your email address' => '',
'Your order will be confirmed by us upon receipt of your payment.' => '',
);

View File

@@ -1,215 +1,208 @@
<?php
return array (
return array(
'%nb Item' => '%nb produit',
'%nb Items' => '%nb produits',
'+ View All' => '+ Voir tout',
'Thelia V2' => 'Thelia v2',
'Skip to content' => 'Aller au contenu',
'Toggle navigation' => 'Navigation alternative',
'Main Navigation' => 'Navigation principale',
'Register!' => 'S\'inscrire !',
'Log In!' => 'Se connecter',
'Sign In' => 'S\'inscrire',
'Register' => 'Se connecter',
'Cart' => 'Panier',
'View Cart' => 'Voir mon panier',
'Checkout' => 'Payer',
'You have no items in your shopping cart.' => 'Vous n\'avez pas de produit dans votre panier.',
'Home' => 'Accueil',
'Search a product' => 'Chercher un produit',
'Search...' => 'Recherche…',
'Minimum 2 characters.' => '2 caractères minimum.',
'Search' => 'Recherche',
'Language:' => 'Langue',
'Currency:' => 'Monnaie',
'Latest' => 'Nouveautés',
'Offers' => 'Promotions',
'Special Price:' => 'Prix en promotion :',
'Regular Price:' => 'Prix :',
'Free shipping' => 'Livraison gratuite',
'Orders over $50' => 'Commandes supérieures à 50€',//ne devrait-on pas mettre une variable ici?
'Secure payment' => 'Paiement sécurisé',
'Multi-payment plateform' => 'Plateforme multipaiement',// bizarre ?
'Need help ?' => 'Besoin d\'aide? ',
'Questions ? See or F.A.Q.' => 'Des questions ? Voir la F.A.Q.', // bizarre le 'see or '
'Latest articles' => 'Nouveaux articles',
'No articles currently' => 'Actuellement aucun article',
'Useful links' => 'Liens utiles',
'Login' => 'Connexion',
'Follow us' => 'Suivez-nous',
'Newsletter' => 'Newsletter',
'Sign up to receive our latest news.' => 'Inscrivez-vous pour recevoir nos actualités.',
'Email address' => 'Adresse e-mail',
'Your email address' => 'Votre adresse e-mail',
'Subscribe' => 'Inscription',
'Contact Us' => 'Contactez-nous',
'Copyright' => 'Copyright',
'You are here:' => 'Vous êtes ici :',
'Show' => 'Voir',
'per page' => 'par page',
'Sort By' => 'Trier par',
'Name ascending' => 'Nom croissant',
'Name descending' => 'Nom décroissant',
'Price ascending' => 'Prix croissant',
'Price descending' => 'Prix décroissant',
'View as' => 'Voir en tant que ',
'View product' => 'Voir le produit',
'Pagination' => 'Pagination',
'No products available in this category' => 'Aucun produit dans cette catégorie.',
'Categories' => 'Catégories',
'Ref.' => 'Ref.',
'Availability' => 'Disponibilité',
'In stock' => 'En stock',
'Out of stock' => 'Indisponible',
'Add to cart' => 'Ajouter au panier',
'Description' => 'Description',
'Additional Info' => 'Informations complémentaires',
'View cart' => 'Voir mon panier',
'Continue Shopping' => 'Continuer mes achats',
'Upsell Products' => 'Nous vous proposons également',
'Your Cart' => 'Votre panier',
'Billing and delivery' => 'Facturation et livraison',
'Check my order' => 'Vérifier ma commmande',
'Product Name' => 'Nom du produit',
'Name' => 'Nom',
'Unit Price' => 'Prix unitaire',
'Price' => 'Prix',
'Quantity' => 'Quantité',
'Qty' => 'Qté',
'Total' => 'Total',
'Tax Inclusive' => 'TVA incluse',
'Available' => 'Disponible',
'In Stock' => 'Disponible',
'No.' => 'N°',
'Remove' => 'Supprimer',
'Proceed checkout' => 'Payer',
'Warning' => 'Attention',
'missing or invalid data' => 'Information éronnée ou incomplète',
'Do you have an account?' => 'Avez-vous déjà un compte ?',
'Forgot your Password?' => 'Mot de passé oublié ?',
'Next' => 'Suivant',
'Log out!' => 'Se déconnecter',
'My Account' => 'Mon compte',
'Previous product' => 'Produits précédents',
'Next product' => 'Produits suivants',
'instead of' => 'au lieu de',
'Add a new address' => 'Ajouter une nouvelle adresse',
'Choose your delivery address' => 'Choisissez une adresse de livraison',
'Address %nb' => 'Adresse n°',
'Edit this address' => 'Editer cette adresse',
'Edit' => 'Editer',
'Remove this address' => 'Supprimer cette adresse',
'Cancel' => 'Annuler',
'Choose your delivery method' => 'Choisissez votre moyen de livraison',
'Back' => 'Retour',
'Next Step' => 'Etape suivante',
'Delete address' => 'Supprimer cette adresse',
'Do you really want to delete this address ?' => 'Voulez-vous vraiment supprimer cette adresse ?',
'No' => 'Non',
'Yes' => 'Oui',
'Shipping Tax' => 'Frais de livraison',
'You may have a coupon ?' => 'Avez-vous un code promo ?',
'Code :' => 'Code',
'Coupon code' => 'Code promo',
'Ok' => 'Ok',
'Delivery address' => 'Adresse de livraison',
'Billing address' => 'Adresse de facturation',
'Change address' => 'Changer d\'adresse',
'Choose your payment method' => 'Choisissez voter moyen de paiement',
'Secure Payment' => 'Paiement sécurisé',
// Tous les éléments relatifs au message de confirmation de commande devraient être administrables non?
'You choose to pay by' => 'Vous avez choisi de payer par',
'Thank you for the trust you place in us.' => 'Merci pour voter confiance. ',
'404' => '404',
'A summary of your order email has been sent to the following address' => 'Un récapitulatif de commande vows a été envoyé par e-mail à l\'adresse suivante : ',
'Your order will be confirmed by us upon receipt of your payment.' => 'Votre commande sera confirmée à réception de votre pavement.',
'Order number' => 'Commande numéro',
'Date' => 'Date',
'Go home' => 'Retour à l\'accueil',
'Account' => 'Mon compte',
'Personal Information' => 'Informations personnelles',
'Add a new address' => 'Ajouter une nouvelle adresse',
'Add to cart' => 'Ajouter au panier',
'Additional Info' => 'Informations complémentaires',
'Address %nb' => 'Adresse n°',
'Address Update' => 'Mise à jour de l\'adresse',
'Address' => 'Adresse',
'Amount' => 'Montant',
'Availability' => 'Disponibilité',
'Available' => 'Disponible',
'Back' => 'Retour',
'Billing address' => 'Adresse de facturation',
'Billing and delivery' => 'Facturation et livraison',
'Cancel' => 'Annuler',
'Cart' => 'Panier',
'Categories' => 'Catégories',
'Change address' => 'Changer d\'adresse',
'Change my account information' => 'Modifier mes informations personnelles',
'Change my password' => 'Changer mon mot de passe',
'Change Password' => 'Modifier mon mot de passe',
'Check my order' => 'Vérifier ma commmande',
'Checkout' => 'Payer',
'Choose your delivery address' => 'Choisissez une adresse de livraison',
'Choose your delivery method' => 'Choisissez votre moyen de livraison',
'Choose your payment method' => 'Choisissez voter moyen de paiement',
'Code :' => 'Code',
'Complementary address' => 'Résidence secondaire',
'Contact Us' => 'Contactez-nous',
'Continue Shopping' => 'Continuer mes achats',
'Copyright' => 'Copyright',
'Coupon code' => 'Code promo',
'Create New Account' => 'Créer un nouveau compte',
'Create New Address' => 'Créer une nouvelle adresse',
'Create' => 'Créer',
'Currency:' => 'Monnaie',
'Date' => 'Date',
'Delete address' => 'Supprimer cette adresse',
'Delivery address' => 'Adresse de livraison',
'Delivery Informations' => 'Informations de livraison',
'Demo product description' => 'Example de description de produit',
'Demo product title' => 'Example de titre',
'Description' => 'Description',
'Do you have an account?' => 'Avez-vous déjà un compte ?',
'Do you really want to delete this address ?' => 'Voulez-vous vraiment supprimer cette adresse ?',
'Edit this address' => 'Editer cette adresse',
'Edit' => 'Editer',
'Email address' => 'Adresse e-mail',
'Follow us' => 'Suivez-nous',
'Forgot your Password?' => 'Mot de passé oublié ?',
'Free shipping' => 'Livraison gratuite',
'Go home' => 'Retour à l\'accueil',
'Grid' => 'Grille',
'Home address' => 'Résidence principal',
'Home' => 'Accueil',
'In Stock' => 'Disponible',
'instead of' => 'au lieu de',
'Item(s)' => 'Produit(s)',
'Language:' => 'Langue',
'Latest articles' => 'Nouveaux articles',
'Latest products' => 'Derniers produits',
'Latest' => 'Nouveautés',
'List of orders' => 'Liste de mes commandes',
'List' => 'Liste',
'Log In!' => 'Se connecter',
'Log out!' => 'Se déconnecter',
'Login Information' => 'Informations de connexion',
'Login' => 'Connexion',
'Main Navigation' => 'Navigation principale',
'Minimum 2 characters.' => '2 caractères minimum.',
'missing or invalid data' => 'Information éronnée ou incomplète',
'Multi-payment plateform' => 'Plateforme multipaiement',// bizarre ?
'My Account' => 'Mon compte',
'My Address book' => 'Mon carnet d\'adresses',
'My Address Books' => 'Mes carnets d\'adresses',
'My order' => 'Ma commande',
'My Orders' => 'Mes commandes',
'List of orders' => 'Liste de mes commandes',
'Order Number' => 'Commande numéro',
'Amount' => 'Montant',
'Status' => 'Etat',
'View' => 'Voir',
'View order %ref as pdf document' => 'Ouvrir la commande %ref dans un pdf',
'Order details' => 'Détail de commande',
'You don\'t have orders yet.' => 'Vous n\'avez pas encore de commande.',
'Update Profile' => 'Mettre à jour votre profil',
'Personal Informations' => 'Informations personnelles',
'Select Title' => 'Civilité',
'Update' => 'Mettre à jour',
'Change Password' => 'Modifier mon mot de passe',
'Login Information' => 'Informations de connexion',
'Create New Address' => 'Créer une nouvelle adresse',
'Address' => 'Adresse',
'Home address' => 'Résidence principal',
'Complementary address' => 'Résidence secondaire',
'Select Country' => 'Choisissez un pays',
'Create' => 'Créer',
'Related' => 'Liés', // voir le contexte pour l'accord
'Grid' => 'Grille',
'List' => 'Liste',
'Name ascending' => 'Nom croissant',
'Name descending' => 'Nom décroissant',
'Name' => 'Nom',
'Need help ?' => 'Besoin d\'aide? ',
'Newsletter Subscription' => 'Inscription à la newslatter',
'Newsletter' => 'Newsletter',
'Next product' => 'Produits suivants',
'Next Step' => 'Etape suivante',
'Next' => 'Suivant',
'Previous' => 'Précédent',
/*
'The page cannot be found' => '',
'What\'s your name?' => '',
'So I can get back to you.' => '',
'The subject of your message.' => '',
'And your message...' => '',
'This email already exists.' => '',
'Address label' => '',
'Title' => '',
'First Name' => '',
'Last Name' => '',
'Company Name' => '',
'Street Address' => '',
'Address Line 2' => '',
'Address Line 3' => '',
'City' => '',
'Zip code' => '',
'Country' => '',
'Phone' => '',
'Cellphone' => '',
'Make this address as my primary address' => '',
'Full Name' => '',
'Your Email Address' => '',
'Subject' => '',
'Your Message' => '',
'Please enter your email address' => '',
'No, I am a new customer.' => '',
'Yes, I have a password :' => '',
'Please enter your password' => '',
'This value should not be blank.' => '',
'A user already exists with this email address. Please login or if you\'ve forgotten your password, go to Reset Your Password.' => '',
'This email does not exists' => '',
'Current Password' => '',
'New Password' => '',
'Password confirmation' => '',
'Your current password does not match.' => '',
'Password confirmation is not the same as password field.' => '',
'I would like to receive the newsletter or the latest news.' => '',
*/
'Placeholder firstname' => 'Prénom',
'Placeholder lastname' => 'Nom de famille',
'Placeholder email' => 'Adresse e-mail',
'Placeholder phone' => 'Téléphone',
'Placeholder cellphone' => 'Portable',
'Placeholder company' => 'Compagnie',
'Next' => 'Suivant',
'No articles currently' => 'Actuellement aucun article',
'No products available in this category' => 'Aucun produit dans cette catégorie.',
'No results found' => 'Aucun résultat',
'No' => 'Non',
'No.' => 'N°',
'Offers' => 'Promotions',
'Ok' => 'Ok',
'Order details' => 'Détail de commande',
'Order number' => 'Commande numéro',
'Orders over $50' => 'Commandes supérieures à 50€',//ne devrait-on pas mettre une variable ici?
'Out of stock' => 'Indisponible',
'Pagination' => 'Pagination',
'Password Forgotten' => 'Mot de passe oublié',
'Password' => 'Mot de passe',
'per page' => 'par page',
'Personal Information' => 'Informations personnelles',
'Personal Informations' => 'Informations personnelles',
'Placeholder address label' => 'Maison, Domicile, Travail...',
'Placeholder address1' => 'Adresse',
'Placeholder address2' => '',
'Placeholder cellphone' => 'Portable',
'Placeholder city' => 'Ville',
'Placeholder zipcode' => 'Code postal',
'Placeholder address label' => 'Maison, Domicile, Travail...',
'Placeholder contact name' => 'Quel est votre nom ?',
'Placeholder company' => 'Compagnie',
'Placeholder contact email' => 'Pour me permettre de vous contacter',
'Placeholder contact subject' => 'Le sujet de votre message',
'Placeholder contact message' => 'Votre commentaire',
)
;
'Placeholder contact name' => 'Quel est votre nom ?',
'Placeholder contact subject' => 'Le sujet de votre message',
'Placeholder email' => 'Adresse e-mail',
'Placeholder firstname' => 'Prénom',
'Placeholder lastname' => 'Nom de famille',
'Placeholder phone' => 'Téléphone',
'Placeholder zipcode' => 'Code postal',
'Please enter your email address below.' => 'Veuillez saisir votre adresse e-amil ci-dessous.',
'Position' => 'Position',
'Previous product' => 'Produits précédents',
'Previous' => 'Précédent',
'Price ascending' => 'Prix croissant',
'Price descending' => 'Prix décroissant',
'Price' => 'Prix',
'Proceed checkout' => 'Payer',
'Product Empty Button' => 'Ajouter mon premier produit',
'Product Empty Message' => 'C\'est très simple d\'ajouter un produit dans l\'adminsitration.
<ol>
<li>N\'oubliez pas de sélectionner <strong>NEW</strong> dans l\'onglet Details afin de voir votre produit dans la section des nouveautés.</li>
<li>N\'oubliez pas de sélectionner <strong>SALE</strong> dans l\'onglet Details afin de voir votre produit dans la section des promotions.</li>
</ol>',
'Product Empty Title' => 'Bonjour',
'Product Name' => 'Nom du produit',
'Product Offers' => 'Produits en promotion',
'products' => 'produits',
'Qty' => 'Qté',
'Quantity' => 'Quantité',
'Questions ? See or F.A.Q.' => 'Des questions ? Voir la F.A.Q.', // bizarre le 'see or '
'Rating' => 'Avis',
'Ref.' => '',
'Register!' => 'S\'inscrire !',
'Register' => 'S\'inscrire',
'Regular Price:' => 'Prix :',
'Related' => 'Liés', // voir le contexte pour l'accord
'Remove this address' => 'Supprimer cette adresse',
'Remove' => 'Supprimer',
'Search a product' => 'Chercher un produit',
'Search Result for' => 'Résultat de recherche pour',
'Search' => 'Recherche',
'Search...' => 'Recherche…',
'Secure payment' => 'Paiement sécurisé',
'Secure Payment' => 'Paiement sécurisé',
'Select Country' => 'Choisissez un pays',
'Select Title' => 'Civilité',
'Send us a message' => 'Envoyer nous un message',
'Send' => 'Envoyer',
'Shipping Tax' => 'Frais de livraison',
'Show' => 'Voir',
'Sign In' => 'Se connecter',
'Sign up to receive our latest news.' => 'Inscrivez-vous pour recevoir nos actualités.',
'Skip to content' => 'Aller au contenu',
'Sort By' => 'Trier par',
'Special Price:' => 'Prix en promotion :',
'Status' => 'Etat',
'Subscribe' => 'Inscription',
'Tax Inclusive' => 'TVA incluse',
'Thank you for the trust you place in us.' => 'Merci pour votre confiance. ',
'Thanks !' => 'Merci !',
'Thanks for signing up! We\'ll keep you posted whenever we have any new updates.' => '',
'Thanks for your message, we will contact as soon as possible.' => '',
'The page cannot be found' => '',
'Thelia V2' => 'Thelia v2',
'Toggle navigation' => 'Navigation alternative',
'Total' => 'Total',
'TTC' => 'TTC',
'Unit Price' => 'Prix unitaire',
'Update Profile' => 'Mettre à jour votre profil',
'Update' => 'Mettre à jour',
'Upsell Products' => 'Nous vous proposons également',
'Useful links' => 'Liens utiles',
'View all' => ' Voir tout',
'View as' => 'Voir en tant que ',
'View Cart' => 'Voir mon panier',
'View order %ref as pdf document' => 'Ouvrir la commande %ref dans un pdf',
'View product' => 'Voir le produit',
'View' => 'Voir',
'Warning' => 'Attention',
'Yes' => 'Oui',
'You are here:' => 'Vous êtes ici :',
'You choose to pay by' => 'Vous avez choisi de payer par',
'You don\'t have orders yet.' => 'Vous n\'avez pas encore de commande.',
'You have no items in your shopping cart.' => 'Vous n\'avez pas de produit dans votre panier.',
'You may have a coupon ?' => 'Avez-vous un code promo ?',
'You want to subscribe to the newsletter? Please enter your email address below.' => 'Vous voulez vous inscrire à la newsletter ? Veuillez saisir votre adresse e-amil ci-dessous.',
'You will receive a link to reset your password.' => 'Vous recevrez un lien pour réinitialiser votre mot de passe.',
'Your Cart' => 'Votre panier',
'Your email address' => 'Votre adresse e-mail',
'Your order will be confirmed by us upon receipt of your payment.' => 'Votre commande sera confirmée à réception de votre pavement.',
);

View File

@@ -1,214 +1,201 @@
<?php
return array (
'+ View All' => '',
'Thelia V2' => '',
'Skip to content' => '',
'Toggle navigation' => '',
'Main Navigation' => '',
'Register!' => '',
'Log In!' => '',
'Sign In' => '',
'Register' => '',
'Cart' => '',
'View Cart' => '',
'Checkout' => '',
'You have no items in your shopping cart.' => '',
'Home' => '',
'Search a product' => '',
'Search...' => '',
'Minimum 2 characters.' => '',
'Search' => '',
'Language:' => '',
'Currency:' => '',
'Latest' => '',
'Offers' => '',
'Special Price:' => '',
'Regular Price:' => '',
'Free shipping' => '',
'Orders over $50' => '',
'Secure payment' => '',
'Multi-payment platform' => '',
'Need help ?' => '',
'Questions ? See or F.A.Q.' => '',
'Latest articles' => '',
'No articles currently' => '',
'Useful links' => '',
'Login' => '',
'Follow us' => '',
'Newsletter' => '',
'Sign up to receive our latest news.' => '',
'Email address' => '',
'Your email address' => '',
'Subscribe' => '',
'Contact Us' => '',
'Copyright' => '',
'You are here:' => '',
'Show' => '',
'per page' => '',
'Sort By' => '',
'Name ascending' => '',
'Name descending' => '',
'Price ascending' => '',
'Price descending' => '',
'View as' => '',
'View product' => '',
'Pagination' => '',
'No products available in this category' => '',
'Categories' => '',
'Ref.' => '',
'Availability' => '',
'In stock' => '',
'Out of stock' => '',
'Add to cart' => '',
'Description' => '',
'Additional Info' => '',
'View cart' => '',
'Continue Shopping' => '',
'Upsell Products' => '',
'Your Cart' => '',
'Billing and delivery' => '',
'Check my order' => '',
'Product Name' => '',
'Name' => '',
'Unit Price' => '',
'Price' => '',
'Quantity' => '',
'Qty' => '',
'Total' => '',
'Tax Inclusive' => '',
'TTC' => '',
'Available' => '',
'In Stock' => '',
'No.' => '',
'Remove' => '',
'Proceed checkout' => '',
'Warning' => '',
'missing or invalid data' => '',
'Do you have an account?' => '',
'Forgot your Password?' => '',
'Next' => '',
'Log out!' => '',
'My Account' => '',
'Previous product' => '',
'Next product' => '',
'instead of' => '',
'Add a new address' => '',
'Choose your delivery address' => '',
'Address %nb' => '',
'Edit this address' => '',
'Edit' => '',
'Remove this address' => '',
'Cancel' => '',
'Choose your delivery method' => '',
'Back' => '',
'Next Step' => '',
'Delete address' => '',
'Do you really want to delete this address ?' => '',
'No' => '',
'Yes' => '',
'Shipping Tax' => '',
'You may have a coupon ?' => '',
'Code :' => '',
'Coupon code' => '',
'Ok' => '',
'Delivery address' => '',
'Billing address' => '',
'Change address' => '',
'Choose your payment method' => '',
'Secure Payment' => '',
'You choose to pay by' => '',
'Thank you for the trust you place in us.' => '',
'A summary of your order email has been sent to the following address' => '',
'Your order will be confirmed by us upon receipt of your payment.' => '',
'Order number' => '',
'Date' => '',
'Go home' => '',
'Account' => '',
'Personal Information' => '',
'Change my account information' => '',
'Change my password' => '',
'My Address book' => '',
'My Address Books' => '',
'My Orders' => '',
'List of orders' => '',
'Order Number' => '',
'Amount' => '',
'Status' => '',
'View' => '',
'View order %ref as pdf document' => '',
'Order details' => '',
'You don\'t have orders yet.' => '',
'Update Profile' => '',
'Personal Informations' => '',
'Select Title' => '',
'Update' => '',
'Change Password' => '',
'Login Information' => '',
'Create New Address' => '',
'Address' => '',
'Home address' => '',
'Complementary address' => '',
'Select Country' => '',
'Create' => '',
'Related' => '',
'Grid' => '',
'List' => '',
'Next' => '',
'Previous' => '',
/*
'The page cannot be found' => '',
'What\'s your name?' => '',
'So I can get back to you.' => '',
'The subject of your message.' => '',
'And your message...' => '',
'This email already exists.' => '',
'Address label' => '',
'Title' => '',
'First Name' => '',
'Last Name' => '',
'Company Name' => '',
'Street Address' => '',
'Address Line 2' => '',
'Address Line 3' => '',
'City' => '',
'Zip code' => '',
'Country' => '',
'Phone' => '',
'Cellphone' => '',
'Make this address as my primary address' => '',
'Full Name' => '',
'Your Email Address' => '',
'Subject' => '',
'Your Message' => '',
'Please enter your email address' => '',
'No, I am a new customer.' => '',
'Yes, I have a password :' => '',
'Please enter your password' => '',
'This value should not be blank.' => '',
'A user already exists with this email address. Please login or if you\'ve forgotten your password, go to Reset Your Password.' => '',
'This email does not exists' => '',
'Current Password' => '',
'New Password' => '',
'Password confirmation' => '',
'Your current password does not match.' => '',
'Password confirmation is not the same as password field.' => '',
'I would like to receive the newsletter or the latest news.' => '',
*/
'Placeholder firstname' => '',
'Placeholder lastname' => '',
'Placeholder email' => '',
'Placeholder phone' => '',
'Placeholder cellphone' => '',
'Placeholder company' => '',
'Placeholder address1' => '',
'Placeholder address2' => '',
'Placeholder city' => '',
'Placeholder zipcode' => '',
'Placeholder address label' => '',
'Placeholder contact name' => '',
'Placeholder contact email' => '',
'Placeholder contact subject' => '',
'Placeholder contact message' => '',
)
;
return array(
'%nb Item' => '',
'%nb Items' => '',
'+ View All' => '',
'404' => '',
'A summary of your order email has been sent to the following address' => '',
'Account' => '',
'Add a new address' => '',
'Add to cart' => '',
'Additional Info' => '',
'Address %nb' => '',
'Address Update' => '',
'Address' => '',
'Amount' => '',
'Availability' => '',
'Available' => '',
'Back' => '',
'Billing address' => '',
'Billing and delivery' => '',
'Cancel' => '',
'Cart' => '',
'Categories' => '',
'Change address' => '',
'Change my account information' => '',
'Change my password' => '',
'Change Password' => '',
'Check my order' => '',
'Checkout' => '',
'Choose your delivery address' => '',
'Choose your delivery method' => '',
'Choose your payment method' => '',
'Code :' => '',
'Complementary address' => '',
'Contact Us' => '',
'Continue Shopping' => '',
'Copyright' => '',
'Coupon code' => '',
'Create New Account' => '',
'Create New Address' => '',
'Create' => '',
'Currency:' => '',
'Date' => '',
'Delete address' => '',
'Delivery address' => '',
'Delivery Informations' => '',
'Demo product description' => '',
'Demo product title' => '',
'Description' => '',
'Do you have an account?' => '',
'Do you really want to delete this address ?' => '',
'Edit this address' => '',
'Edit' => '',
'Email address' => '',
'Follow us' => '',
'Forgot your Password?' => '',
'Free shipping' => '',
'Go home' => '',
'Grid' => '',
'Home address' => '',
'Home' => '',
'In Stock' => '',
'instead of' => '',
'Item(s)' => '',
'Language:' => '',
'Latest articles' => '',
'Latest products' => '',
'Latest' => '',
'List of orders' => '',
'List' => '',
'Log In!' => '',
'Log out!' => '',
'Login Information' => '',
'Login' => '',
'Main Navigation' => '',
'Minimum 2 characters.' => '',
'missing or invalid data' => '',
'Multi-payment platform' => '',
'My Account' => '',
'My Address book' => '',
'My Address Books' => '',
'My order' => '',
'My Orders' => '',
'Name ascending' => '',
'Name descending' => '',
'Name' => '',
'Need help ?' => '',
'Newsletter Subscription' => '',
'Newsletter' => '',
'Next product' => '',
'Next Step' => '',
'Next' => '',
'No articles currently' => '',
'No products available in this category' => '',
'No results found' => '',
'No.' => '',
'Offers' => '',
'Ok' => '',
'Order details' => '',
'Order number' => '',
'Orders over $50' => '',
'Out of Stock' => '',
'Pagination' => '',
'Password Forgotten' => '',
'Password' => '',
'per page' => '',
'Personal Informations' => '',
'Placeholder address label' => '',
'Placeholder address1' => '',
'Placeholder address2' => '',
'Placeholder cellphone' => '',
'Placeholder city' => '',
'Placeholder company' => '',
'Placeholder contact email' => '',
'Placeholder contact message' => '',
'Placeholder contact name' => '',
'Placeholder contact subject' => '',
'Placeholder email' => '',
'Placeholder firstname' => '',
'Placeholder lastname' => '',
'Placeholder phone' => '',
'Placeholder zipcode' => '',
'Please enter your email address below.' => '',
'Position' => '',
'Previous product' => '',
'Previous' => '',
'Price ascending' => '',
'Price descending' => '',
'Price' => '',
'Proceed checkout' => '',
'Product Empty Button' => '',
'Product Empty Message' => '',
'Product Empty Title' => '',
'Product Name' => '',
'Product Offers' => '',
'products' => '',
'Qty' => '',
'Quantity' => '',
'Questions ? See or F.A.Q.' => '',
'Rating' => '',
'Ref.' => '',
'Register!' => '',
'Register' => '',
'Regular Price:' => '',
'Related' => '',
'Remove this address' => '',
'Remove' => '',
'Search a product' => '',
'Search Result for' => '',
'Search' => '',
'Search...' => '',
'Secure payment' => '',
'Secure Payment' => '',
'Select Country' => '',
'Select Title' => '',
'Send us a message' => '',
'Send' => '',
'Shipping Tax' => '',
'Show' => '',
'Sign In' => '',
'Sign up to receive our latest news.' => '',
'Skip to content' => '',
'Sort By' => '',
'Special Price:' => '',
'Status' => '',
'Subscribe' => '',
'Tax Inclusive' => '',
'Thank you for the trust you place in us.' => '',
'Thanks !' => '',
'Thanks for signing up! We\'ll keep you posted whenever we have any new updates.' => '',
'Thanks for your message, we will contact as soon as possible.' => '',
'The page cannot be found' => '',
'Thelia V2' => '',
'Toggle navigation' => '',
'Total' => '',
'TTC' => '',
'Unit Price' => '',
'Update Profile' => '',
'Update' => '',
'Upsell Products' => '',
'Useful links' => '',
'View all' => '',
'View as' => '',
'View Cart' => '',
'View order %ref as pdf document' => '',
'View product' => '',
'View' => '',
'Warning' => '',
'Yes' => '',
'You are here:' => '',
'You choose to pay by' => '',
'You don\'t have orders yet.' => '',
'You have no items in your shopping cart.' => '',
'You may have a coupon ?' => '',
'You want to subscribe to the newsletter? Please enter your email address below.' => '',
'You will receive a link to reset your password.' => '',
'Your Cart' => '',
'Your email address' => '',
'Your order will be confirmed by us upon receipt of your payment.' => '',
);

View File

@@ -26,7 +26,7 @@
<div class="panel-heading">
<h4 class="panel-title">
<a class="accordion-toggle" data-toggle="collapse" data-parent="#account" href="#account-info">
{intl l="Personal Information"}
{intl l="Personal Informations"}
</a>
</h4>
</div>
@@ -144,7 +144,7 @@
<table class="table table-orders" summary="{intl l="List of orders"}">
<thead>
<tr>
<th>{intl l="Order Number"}</th>
<th>{intl l="Order number"}</th>
<th>{intl l="Date"}</th>
<th>{intl l="Amount"}</th>
<th>{intl l="Status"}</th>
@@ -156,7 +156,7 @@
<tr>
<td>{$REF}</td>
<td>{format_date date=$CREATE_DATE}</td>
<td>{loop type="currency" name="order.currency" id={$CURRENCY}}{$SYMBOL}{/loop} {format_number number=$TOTAL_TAXED_AMOUNT}</td>
<td>{format_number number=$TOTAL_TAXED_AMOUNT} {loop type="currency" name="order.currency" id={$CURRENCY}}{$SYMBOL}{/loop}</td>
<td><span class="label-delivered">{loop type="order-status" name="order.status" id={$STATUS}}{$TITLE}{/loop}</span></td>
<td><a href="#" class="btn btn-order-details" data-toggle="tooltip" title="{intl l="View order %ref as pdf document" ref={$REF}}"><span class="icon-cloud-download"></span> {intl l="Order details"}</a></td>
</tr>

View File

@@ -12,7 +12,7 @@
{block name='no-return-functions' append}
{$breadcrumbs = [
['title' => {intl l="Account"}, 'url'=>{url path="/account"}],
['title' => {intl l="Add a New Address"}, 'url'=>{url path="/address/create"}]
['title' => {intl l="Add a new address"}, 'url'=>{url path="/address/create"}]
]}
{/block}

View File

@@ -46,6 +46,7 @@
&.btn-coupon,
&.btn-filter,
&.btn-grid,
&.btn-jumbotron,
&.btn-list,
&.btn-login-mini,
&.btn-search,

View File

@@ -89,11 +89,11 @@
<td class="unitprice">
{if $IS_PROMO == 1}
{assign "real_price" $PROMO_TAXED_PRICE}
<div class="special-price"><span class="price">{currency attr="symbol"} {$PROMO_TAXED_PRICE}</span></div>
<small class="old-price">{intl l="instead of"} <span class="price">{currency attr="symbol"} {$TAXED_PRICE}</span></small>
<div class="special-price"><span class="price">{$PROMO_TAXED_PRICE} {currency attr="symbol"}</span></div>
<small class="old-price">{intl l="instead of"} <span class="price">{$TAXED_PRICE} {currency attr="symbol"}</span></small>
{else}
{assign "real_price" $TAXED_PRICE}
<div class="special-price"><span class="price">{currency attr="symbol"} {$TAXED_PRICE}</span></div>
<div class="special-price"><span class="price">{$TAXED_PRICE} {currency attr="symbol"}</span></div>
{/if}
</td>
<td class="qty">
@@ -109,7 +109,7 @@
</div>
</td>
<td class="subprice">
<span class="price">{currency attr="symbol"} {$real_price * $QUANTITY}</span>
<span class="price">{$real_price * $QUANTITY} {currency attr="symbol"}</span>
</td>
</tr>
@@ -121,7 +121,7 @@
<th class="total">{intl l="Total"}</th>
<td class="total">
<div class="total-price">
<span class="price">{currency attr="symbol"} {cart attr="total_taxed_price"}</span>
<span class="price">{cart attr="total_taxed_price"} {currency attr="symbol"}</span>
</div>
</td>
</tr>

View File

@@ -19,7 +19,8 @@
{$product_order={$smarty.get.order|default:'alpha'}}
<article class="col-main {$smarty.get.mode|default:"grid"}" role="main">
{ifloop rel="product_list"}
{include file="includes/toolbar.html" toolbar="top" limit=$limit order=$product_order}
{assign var="amount" value="{count type="product" category={category attr="id"}}"}
{include file="includes/toolbar.html" toolbar="top" limit=$limit order=$product_order amount={$amount}}
<div id="category-products">
<div class="products-content">
<ul class="product-col-4">
@@ -29,7 +30,7 @@
</ul>
</div>
</div><!-- /#category-products -->
{include file="includes/toolbar.html" toolbar="bottom"}
{include file="includes/toolbar.html" toolbar="bottom" amount={$amount}}
{/ifloop}
{elseloop rel="product_list"}
<div class="address-warning">

View File

@@ -2,13 +2,13 @@
{* Breadcrumb *}
{block name='no-return-functions' append}
{$breadcrumbs = [['title' => {intl l="Contact us"}, 'url'=>{url path="/contact"}]]}
{$breadcrumbs = [['title' => {intl l="Contact Us"}, 'url'=>{url path="/contact"}]]}
{/block}
{block name="main-content"}
<div class="main">
<article class="col-main" role="main" aria-labelledby="main-label">
<h1 id="main-label" class="page-header">{intl l="Contact us"}</h1>
<h1 id="main-label" class="page-header">{intl l="Contact Us"}</h1>
<div id="google-map">
<iframe class="map" width="100%" height="350" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.co.uk/maps?f=q&source=s_q&hl=en&geocode=&q=london&aq=&sll=52.8382,-2.327815&sspn=9.377429,22.126465&ie=UTF8&hq=&hnear=London,+United+Kingdom&t=m&z=10&ll=51.511214,-0.119824&output=embed&iwloc=near"></iframe>

View File

@@ -18,11 +18,11 @@
{if $IS_PROMO == 1}
{assign "real_price" $PROMO_TAXED_PRICE}
<div class="special-price"><span class="price">{currency attr="symbol"} {$PROMO_TAXED_PRICE}</span></div>
<small class="old-price"> <span class="price">{currency attr="symbol"} {$TAXED_PRICE}</span></small>
<div class="special-price"><span class="price">{$PROMO_TAXED_PRICE} {currency attr="symbol"}</span></div>
<small class="old-price"> <span class="price">{$TAXED_PRICE} {currency attr="symbol"}</span></small>
{else}
{assign "real_price" $TAXED_PRICE}
<div class="special-price"><span class="price">{currency attr="symbol"} {$TAXED_PRICE}</span></div>
<div class="special-price"><span class="price">{$TAXED_PRICE} {currency attr="symbol"}</span></div>
{/if}
</td>
@@ -30,7 +30,7 @@
</table>
{/loop}
<a href="{url path="/cart"}" role="button" class="btn btn_add_to_cart pull-right"><span>{intl l="View cart"}</span></a>
<a href="{url path="/cart"}" role="button" class="btn btn_add_to_cart pull-right"><span>{intl l="View Cart"}</span></a>
<button type="button" class="btn btn-checkout pull-right" data-dismiss="modal"><span>{intl l="Continue Shopping"}</span></button>
</div>

View File

@@ -34,7 +34,7 @@
{else}
{assign "real_price" $TAXED_PRICE}
{/if}
<span class="qty">{$QUANTITY}</span> X <span class="price" style="font-size:1em;">{currency attr="symbol"}{$real_price}</span></div>
<span class="qty">{$QUANTITY}</span> X <span class="price" style="font-size:1em;">{$real_price} {currency attr="symbol"}</span></div>
{assign "total_price" $total_price + ($QUANTITY * $real_price)}
</td>
</tr>
@@ -49,7 +49,7 @@
</td>
<td class="total">
<div class="total-price">
<span class="price">{currency attr="symbol"}{$total_price}</span>
<span class="price">{$total_price} {currency attr="symbol"}</span>
</div>
</td>
</tr>

View File

@@ -0,0 +1,35 @@
<div class="jumbotron">
<h1>{intl l="Product Empty Title"}</h1>
<p>{intl l="Product Empty Message"}</p>
<p><a href="{url path="/admin"}" class="btn btn-jumbotron btn-lg" role="button">{intl l="Product Empty Button"}</a></p>
</div>
<section id="products-new">
<div class="products-heading">
<h2>{intl l="Latest"}</h2>
</div>
<div class="products-content">
<ul class="products-grid product-col-4">
{for $count=1 to 4}
<li class="item">
<article>
<a href="{url path="/admin"}" tabindex="-1" class="product-image">
{images file='../assets/img/280x196.png'}<img src="{$asset_url}" alt="{intl l="Demo product title"}">{/images}
<span class="mask"></span>
</a>
<a href="{url path="/admin"}" class="product-info">
<h3 class="name">{intl l="Demo product title"}</h3>
<div class="short-description">{intl l="Demo product description"}</div>
<div class="product-price">
<div class="price-container">
<span class="regular-price"><span class="price">99.99 {currency attr="symbol"}</span></span>
</div>
</div>
</a>
</article><!-- /product -->
</li>
{/for}
</ul>
</div>
</section><!-- #products-new -->

View File

@@ -1,5 +1,7 @@
<li class="item">
{assign var="hasSubmit" value = false}
{assign var="productTitle" value="{$TITLE}"}
<article itemscope itemtype="http://schema.org/Product">
<!-- Use the meta tag to specify content that is not visible on the page in any way -->
{loop name="brand.feature" type="feature" product=$ID title="brand"}
@@ -15,14 +17,16 @@
<a href="{$URL}" itemprop="url" tabindex="-1" class="product-image">
{loop name="product_thumbnail" type="image" product=$ID width="{$width}" height="{$height}" resize_mode="borders" limit="1"}
<img itemprop="image" src="{$IMAGE_URL}" alt="Product #{$LOOP_COUNT}">
<img itemprop="image" src="{$IMAGE_URL}" alt="{$productTitle}">
{/loop}
{elseloop rel="product_thumbnail"}
{images file='../assets/img/218x146.png'}<img itemprop="image" src="{$asset_url}" alt="{$productTitle}">{/images}
{/elseloop}
<span class="mask"></span>
</a>
<div class="product-info">
<h3 class="name"><a href="{$URL}"><span itemprop="name">{$TITLE}</span></a></h3>
<h3 class="name"><a href="{$URL}"><span itemprop="name">{$productTitle}</span></a></h3>
{if $hasDescription}
<div class="description" itemprop="description">
<p>{$DESCRIPTION}</p>

View File

@@ -1,7 +1,7 @@
<div class="toolbar toolbar-{$toolbar}" role="toolbar">
{if $toolbar == "top" }
<div class="sorter-container">
{*<span class="amount">9 {intl l="Item(s)"}</span>*}
<span class="amount">{if ($amount > 1)}{intl l="%nb Items" nb="{$amount}"}{else}{intl l="%nb Item" nb="{$amount}"}{/if}</span>
<span class="limiter">
<label for="limit-top">{intl l="Show"}</label>
@@ -37,31 +37,19 @@
</div><!-- /.sorter -->
{else}
<div class="pagination-container" role="pagination" aria-labelledby="pagination-label-{$toolbar}}">
<strong id="pagination-label-{$toolbar}}" class="pagination-label">{intl l="Pagination"}</strong>
<ul class="pagination">
{if $product_page > 1}
<li><a href="{url path={navigate to="current"} page={$product_page-1} }" title="{intl l="Previous"}" class="prev"><i class="icon-prev"></i></a></li>
{else}
<li><a href="#" title="{intl l="Previous"}" class="prev"><i class="icon-prev"></i></a></li>
{/if}
{pageloop rel="product_list"}
{if $PAGE != $CURRENT}
<li><a href="{url path={navigate to="current"} page=$PAGE }"> {$PAGE} </a></li>
{else}
<li class="active"><a href="#" tabindex="-1">{$PAGE}</a></li>
{/if}
{if $PAGE == $LAST}
{if $CURRENT < $LAST}
<li><a href="{url path={navigate to="current"} page={$CURRENT+1} }" title="{intl l="Next"}" class="next"><i class="icon-next"></i></a></li>
{else}
<li><a href="#" title="{intl l="Next"}" class="next"><i class="icon-next"></i></a></li>
{if $amount > $limit}
<div class="pagination-container" role="pagination" aria-labelledby="pagination-label-{$toolbar}}">
<strong id="pagination-label-{$toolbar}}" class="pagination-label">{intl l="Pagination"}</strong>
<ul class="pagination">
<li{if $product_page le 1} class="disabled"{/if}><a href="{url path={navigate to="current"} page={$product_page-1} }" title="{intl l="Previous"}" class="prev"><i class="icon-prev"></i></a></li>
{pageloop rel="product_list"}
<li{if $PAGE eq $CURRENT} class="active"{/if}><a href="{url path={navigate to="current"} page=$PAGE }"> {$PAGE} </a></li>
{if $PAGE eq $LAST}
<li{if $CURRENT eq $LAST} class="disabled"{/if}><a href="{url path={navigate to="current"} page={$CURRENT+1} }" title="{intl l="Next"}" class="next"><i class="icon-next"></i></a></li>
{/if}
{/if}
{/pageloop}
</ul>
</div>
{/pageloop}
</ul>
</div>
{/if}
{/if}
</div><!-- /.toolbar toolbar-<?php echo $toolbar; ?> -->

View File

@@ -14,101 +14,108 @@
<figure class="item active">
{images file='assets/img/carousel/slider1.png'}<img src="{$asset_url}" alt="img1">{/images}
</figure>
{* <figure class="item">
<figure class="item">
{images file='assets/img/carousel/slider2.png'}<img src="{$asset_url}" alt="img2">{/images}
</figure>
<figure class="item">
{images file='assets/img/carousel/slider3.png'}<img src="{$asset_url}" alt="img3">{/images}
</figure>*}
</figure>
</div>
</div>
{* <a class="left carousel-control" href="#carousel" data-slide="prev"><span class="icon-prev"></span></a>
<a class="right carousel-control" href="#carousel" data-slide="next"><span class="icon-next"></span></a>*}
<a class="left carousel-control" href="#carousel" data-slide="prev"><span class="icon-prev"></span></a>
<a class="right carousel-control" href="#carousel" data-slide="next"><span class="icon-next"></span></a>
</div>
</section><!-- #carousel -->
{if {count type="product"} eq 0}
{include file="includes/product-empty.html"}
{else}
{ifloop rel="product_new"}
<section id="products-new">
<div class="products-heading">
<h2>{intl l="Latest"} <a href="{url path="/view_all" type="new"}" class="btn-all">{intl l="+ View All"}</a></h2>
</div>
<section id="products-new">
<div class="products-heading">
<h2>{intl l="Latest"} <a href="{url path="/view_all" type="new"}" class="btn-all">{intl l="+ View All"}</a></h2>
</div>
<div class="products-content">
<ul class="products-grid product-col-4">
{loop name="product_new" type="product" limit="4" new="yes"}
<li class="item">
<article itemscope itemtype="http://schema.org/Product">
<!-- Use the meta tag to specify content that is not visible on the page in any way -->
{$product_id=$ID}
{loop name="brand.feature" type="feature" product="{$ID}" title="brand"}
{loop name="brand.value" type="feature_value" feature="{$ID}" product="$product_id"}
<meta itemprop="brand" content="{$TITLE}">
<div class="products-content">
<ul class="products-grid product-col-4">
{loop name="product_new" type="product" limit="4" new="yes"}
<li class="item">
<article itemscope itemtype="http://schema.org/Product">
<!-- Use the meta tag to specify content that is not visible on the page in any way -->
{$product_id=$ID}
{loop name="brand.feature" type="feature" product="{$ID}" title="brand"}
{loop name="brand.value" type="feature_value" feature="{$ID}" product="$product_id"}
<meta itemprop="brand" content="{$TITLE}">
{/loop}
{/loop}
{/loop}
{loop name="brand.feature" type="feature" product=$ID title="isbn"}
{loop name="brand.value" type="feature_value" feature=$ID product=$product_id}
<meta itemprop="productID" content="isbn:{$TITLE}">
{loop name="brand.feature" type="feature" product=$ID title="isbn"}
{loop name="brand.value" type="feature_value" feature=$ID product=$product_id}
<meta itemprop="productID" content="isbn:{$TITLE}">
{/loop}
{/loop}
{/loop}
<a href="{$URL}" itemprop="url" tabindex="-1" class="product-image">
{ifloop rel="image_product_new" }
<img itemprop="image"
{loop name="image_product_new" type="image" limit="1" product="{$ID}" force_return="true" width="280" height="196" resize_mode="borders"}
src="{$IMAGE_URL}"
{/loop}
alt="Product #{$LOOP_COUNT}" >
{/ifloop}
{elseloop rel="image_product_new"}
{images file='assets/img/280x196.png'}<img itemprop="image" src="{$asset_url}" alt="Product #{$LOOP_COUNT}">{/images}
{/elseloop}
<span class="mask"></span>
</a>
<a href="{$URL}" itemprop="url" tabindex="-1" class="product-image">
{ifloop rel="image_product_new" }
<img itemprop="image"
{loop name="image_product_new" type="image" limit="1" product="{$ID}" force_return="true" width="280" height="196" resize_mode="borders"}
src="{$IMAGE_URL}"
{/loop}
alt="Product #{$LOOP_COUNT}" >
{/ifloop}
{elseloop rel="image_product_new"}
{images file='assets/img/280x196.png'}<img itemprop="image" src="{$asset_url}" alt="Product #{$LOOP_COUNT}">{/images}
{/elseloop}
<span class="mask"></span>
</a>
<a href="{$URL}" class="product-info">
<h3 class="name"><span itemprop="name">{$TITLE}</span></h3>
<div class="short-description" itemprop="description">{$CHAPO}</div>
<a href="{$URL}" class="product-info">
<h3 class="name"><span itemprop="name">{$TITLE}</span></h3>
<div class="short-description" itemprop="description">{$CHAPO}</div>
<div class="product-price">
<div class="price-container" itemprop="offers" itemscope itemtype="http://schema.org/Offer">
{loop type="category" name="category_tag" id=$DEFAULT_CATEGORY}
<meta itemprop="category" content="{$TITLE}">
{/loop}
<meta itemprop="itemCondition" itemscope itemtype="http://schema.org/NewCondition"> <!-- List of condition : NewCondition, DamagedCondition, UsedCondition, RefurbishedCondition -->
<meta itemprop="priceCurrency" content="{currency attr="code"}"> <!-- List of currency : The currency used to describe the product price, in three-letter ISO format. -->
<link itemprop="availability" href="http://schema.org/InStock" content="in_stock" />
<div class="product-price">
<div class="price-container" itemprop="offers" itemscope itemtype="http://schema.org/Offer">
{loop type="category" name="category_tag" id=$DEFAULT_CATEGORY}
<meta itemprop="category" content="{$TITLE}">
{/loop}
<meta itemprop="itemCondition" itemscope itemtype="http://schema.org/NewCondition"> <!-- List of condition : NewCondition, DamagedCondition, UsedCondition, RefurbishedCondition -->
<meta itemprop="priceCurrency" content="{currency attr="code"}"> <!-- List of currency : The currency used to describe the product price, in three-letter ISO format. -->
<link itemprop="availability" href="http://schema.org/InStock" content="in_stock" />
<!-- List of availibility :
out_of_stock : http://schema.org/OutOfStock
in_stock : http://schema.org/InStock
instore_only : http://schema.org/InStoreOnly
preorder : http://schema.org/PreOrder
online_only : http://schema.org/OnlineOnly
-->
<span class="regular-price"><span itemprop="price" class="price">{format_number number="{$BEST_TAXED_PRICE}"} {currency attr="symbol"}</span></span>
<!-- List of availibility :
out_of_stock : http://schema.org/OutOfStock
in_stock : http://schema.org/InStock
instore_only : http://schema.org/InStoreOnly
preorder : http://schema.org/PreOrder
online_only : http://schema.org/OnlineOnly
-->
<span class="regular-price"><span itemprop="price" class="price">{format_number number="{$BEST_TAXED_PRICE}"} {currency attr="symbol"}</span></span>
</div>
</div>
</div>
</a>
</article><!-- /product -->
</li>
{/loop}
</a>
</article><!-- /product -->
</li>
{/loop}
</ul>
</div>
</section><!-- #products-new -->
{/ifloop}
</ul>
</div>
</section><!-- #products-new -->
{ifloop rel="product_promo"}
<section id="products-offer">
<div class="products-heading">
<h2>{intl l="Offers"} <a href="{url path="/view_all" type="offers"}" class="btn-all">{intl l="+ View All"}</a></h2>
</div>
<section id="products-offer">
<div class="products-heading">
<h2>{intl l="Offers"} <a href="{url path="/view_all" type="offers"}" class="btn-all">{intl l="+ View All"}</a></h2>
</div>
<div class="products-content">
<ul class="products-grid product-col-5 hover-effect">
{loop name="product_promo" type="product" limit="5" promo="yes"}
{include file="includes/single-product.html" product_id=$ID hasBtn=false hasDescription=false width="218" height="146"}
{/loop}
</ul>
</div>
</section><!-- #products-offer -->
{/ifloop}
{/if}
<div class="products-content">
<ul class="products-grid product-col-5 hover-effect">
{loop name="product_promo" type="product" limit="5" promo="yes"}
{include file="includes/single-product.html" product_id=$ID hasBtn=false hasDescription=false width="218" height="146"}
{/loop}
</ul>
</div>
</section><!-- #products-offer -->
{/block}

View File

@@ -134,7 +134,7 @@
{/if}
<label for="delivery-method_{$ID}">
<input type="radio" name="{$name}" id="delivery-method_{$ID}"{if $isDeliveryMethodChecked} checked="checked"{/if} value="{$ID}">
<strong>{$TITLE}</strong> / {currency attr="symbol"} {$POSTAGE}
<strong>{$TITLE}</strong> / {$POSTAGE} {currency attr="symbol"}
</label>
{/form_field}
</div>

View File

@@ -103,18 +103,18 @@
<td class="unitprice">
{if $IS_PROMO == 1}
{assign "real_price" $PROMO_TAXED_PRICE}
<div class="special-price"><span class="price">{currency attr="symbol"} {$PROMO_TAXED_PRICE}</span></div>
<small class="old-price">{intl l="instead of"} <span class="price">{currency attr="symbol"} {$TAXED_PRICE}</span></small>
<div class="special-price"><span class="price">{$PROMO_TAXED_PRICE} {currency attr="symbol"}</span></div>
<small class="old-price">{intl l="instead of"} <span class="price">{$TAXED_PRICE} {currency attr="symbol"}</span></small>
{else}
{assign "real_price" $TAXED_PRICE}
<div class="special-price"><span class="price">{currency attr="symbol"} {$TAXED_PRICE}</span></div>
<div class="special-price"><span class="price">{$TAXED_PRICE} {currency attr="symbol"} </span></div>
{/if}
</td>
<td class="qty">
<span class="price">{$QUANTITY}</span>
</td>
<td class="subprice">
<span class="price">{currency attr="symbol"} {$real_price * $QUANTITY}</span>
<span class="price">{$real_price * $QUANTITY} {currency attr="symbol"}</span>
</td>
</tr>
@@ -127,7 +127,7 @@
<th class="shipping">{intl l="Shipping Tax"}</th>
<td class="shipping">
<div class="shipping-price">
<span class="price">{currency attr="symbol"} {order attr="postage"}</span>
<span class="price">{order attr="postage"} {currency attr="symbol"}</span>
</div>
</td>
</tr>
@@ -153,7 +153,7 @@
<th class="total">{intl l="Total"}</th>
<td class="total">
<div class="total-price">
<span class="price">{currency attr="symbol"} {{cart attr="total_taxed_price"} + {order attr="postage"}}</span>
<span class="price">{{cart attr="total_taxed_price"} + {order attr="postage"}} {currency attr="symbol"}</span>
</div>
</td>
</tr>

View File

@@ -42,7 +42,7 @@
<dt>{intl l="Date"} : </dt>
<dd>{format_date date=$CREATE_DATE output="date"}</dd>
<dt>{intl l="Total"} : </dt>
<dd>{loop type="currency" name="order-currency" id=$CURRENCY}{$SYMBOL}{/loop} {$TOTAL_TAXED_AMOUNT}</dd>
<dd>{$TOTAL_TAXED_AMOUNT} {loop type="currency" name="order-currency" id=$CURRENCY}{$SYMBOL}{/loop}</dd>
</dl>
</div>
</div>

View File

@@ -33,12 +33,15 @@
{/loop}
<section id="product-gallery">
{ifloop rel="image.main"}
<figure class="product-image">
{loop type="image" name="image.main" product="{$ID}" width="560" height="445" resize_mode="borders" limit="1"}
<img src="{$IMAGE_URL}" alt="{$TITLE}" class="img-responsive" itemprop="image" data-toggle="magnify">
{/loop}
</figure>
{/ifloop}
{ifloop rel="image.carousel"}
<div id="product-thumbnails" class="slide" style="position:relative;">
<div class="carousel-inner">
<div class="item active">
@@ -76,16 +79,17 @@
<a class="right carousel-control" href="#product-thumbnails" data-slide="next"><i class="icon-next"></i></a>
{/ifloop}
</div>
{/ifloop}
</section>
<section id="product-details">
<div class="product-info">
<h1 class="name"><span itemprop="name">{$TITLE}</span></h1>
<span itemprop="sku" class="sku">{intl l='Ref.'}: {$REF}</span>
{if $REF}<span itemprop="sku" class="sku">{intl l='Ref.'}: {$REF}</span>{/if}
<div class="short-description">
{if $POSTSCRIPTUM}<div class="short-description">
<p>{$POSTSCRIPTUM}</p>
</div>
</div>{/if}
</div>
{loop name="stock_meta" type="product_sale_elements" product="$ID"}
@@ -110,8 +114,7 @@
<div class="availability">
<span class="availibity-label">{intl l="Availability"}: </span>
<span itemprop="availability" href="{$current_stock_href}" class="{$current_stock_class}" id="stockInformations">
<span class="in">{intl l='In stock'}</span><span class="out">{intl l='Out of stock'}</span>
<span class="in">{intl l='In Stock'}</span><span class="out">{intl l='Out of Stock'}</span>
</span>
</div>
@@ -142,10 +145,8 @@
<input type="hidden" name="{$name}" value="1">
{/form_field}
{if $form_error}<div class="alert alert-error">{$form_error_message}</div>{/if}
{form_field form=$form field="product"}
<input id="{$label_attr.for}" type="hidden" name="{$name}" value="{$ID}" {$attr} >
{/form_field}
@@ -172,12 +173,12 @@
{form_field form=$form field='quantity'}
<div class="form-group group-qty {if $error}has-error{elseif $value != "" && !$error}has-success{/if}">
<label for="{$label_attr.for}">{$label}</label>
<input type="number" name="{$name}" id="{$label_attr.for}" class="form-control" value="{$value|default:1}" min="1" required>
{if $error }
<span class="help-block"><i class="icon-remove"></i> {$message}</span>
{elseif $value != "" && !$error}
<span class="help-block"><i class="icon-ok"></i></span>
{/if}
<input type="number" name="{$name}" id="{$label_attr.for}" class="form-control" value="{$value|default:1}" min="1" required>
{if $error }
<span class="help-block">{$message}</span>
{elseif $value != "" && !$error}
<span class="help-block"><i class="icon-ok"></i></span>
{/if}
</div>
{/form_field}
@@ -189,29 +190,38 @@
{/form}
</section>
<section id="product-tabs">
<ul class="nav nav-tabs" role="tablist">
<li class="active" role="presentation"><a id="tab1" href="#description" data-toggle="tab" role="tab">{intl l="Description"}</a></li>
<li role="presentation"><a id="tab2" href="#additional" data-toggle="tab" role="tab">{intl l="Additional Info"}</a></li>
</ul>
<div class="tab-content">
<div class="tab-pane active in" id="description" itemprop="description" role="tabpanel" aria-labelledby="tab1">
<p>{$DESCRIPTION}</p>
</div>
<div class="tab-pane" id="additional" role="tabpanel" aria-labelledby="tab2">
{ifloop rel="feature_value_info"}
<ul>
{strip}
{capture "additional"}
{ifloop rel="feature_value_info"}
<ul>
{loop name="feature_info" type="feature" product="{$ID}"}
<li>
<strong>{$TITLE}</strong> :
{loop name="feature_value_info" type="feature_value" feature="{$ID}" product="{product attr="id"}"}
{$TITLE}
{$TITLE}
{/loop}
</li>
{/loop}
</ul>
{/ifloop}
</ul>
{/ifloop}
{/capture}
{/strip}
<section id="product-tabs">
<ul class="nav nav-tabs" role="tablist">
<li class="active" role="presentation"><a id="tab1" href="#description" data-toggle="tab" role="tab">{intl l="Description"}</a></li>
{if $smarty.capture.additional ne ""}<li role="presentation"><a id="tab2" href="#additional" data-toggle="tab" role="tab">{intl l="Additional Info"}</a></li>{/if}
</ul>
<div class="tab-content">
<div class="tab-pane active in" id="description" itemprop="description" role="tabpanel" aria-labelledby="tab1">
<p>{$DESCRIPTION|default:'N/A'}</p>
</div>
{if $smarty.capture.additional ne ""}
<div class="tab-pane" id="additional" role="tabpanel" aria-labelledby="tab2">
{$smarty.capture.additional}
</div>
{/if}
</div>
</section>
</article><!-- /product -->

View File

@@ -245,6 +245,21 @@
</div>
</fieldset>
{form_field form=$form field="newsletter"}
<div class="form-group group-newsletter{if $error} has-error{/if}">
<div class="control-input">
<div class="checkbox">
<label class="control-label" for="{$label_attr.for}">
<input type="checkbox" name="{$name}" id="{$label_attr.for}" value="{$value}"{if $checked} checked{/if} {if $required} aria-required="true" required{/if}>{$label}
</label>
{if $error }
<span class="help-block">{$message}</span>
{/if}
</div>
</div>
</div><!--/.form-group-->
{/form_field}
{form_field form=$form field="agreed"}
<div class="form-group group-agreed{if $error} has-error{/if}">
<div class="control-input">
@@ -262,7 +277,7 @@
<div class="form-group group-btn">
<div class="control-btn">
<button type="submit" class="btn btn-register">{intl l="Sign in"}</button>
<button type="submit" class="btn btn-register">{intl l="Register"}</button>
</div>
</div><!--/.form-group-->
</form>

View File

@@ -20,14 +20,14 @@
<article class="col-main {$smarty.get.mode|default:"grid"}" role="main" aria-labelledby="main-label">
<h1 id="main-label" class="page-header">{intl l="Search Result for"} <small>{$smarty.get.q}</small></h1>
{include file="includes/toolbar.html" toolbar="top" limit=$limit order=$product_order}
{assign var="amount" value="{count type="product" title="{$smarty.get.q}"}"}
{include file="includes/toolbar.html" toolbar="top" limit=$limit order=$product_order amount={$amount}}
<div id="category-products">
<div class="products-content">
{ifloop rel="product_list"}
<ul class="product-col-3">
{loop type="product" name="product_list" title="{$smarty.get.q}" limit=$limit page=$product_page order=$product_order}
{include file="includes/single-product.html" product_id=$ID hasBtn=true hasDescription=true width="369" height="247"}
{assign "products_count" $LOOP_TOTAL}
{/loop}
</ul>
{/ifloop}
@@ -37,7 +37,7 @@
</div>
</div><!-- /#category-products -->
{ifloop rel="product_list"}
{include file="includes/toolbar.html" toolbar="bottom"}
{include file="includes/toolbar.html" toolbar="bottom" amount={$amount}}
{/ifloop}
</article>

View File

@@ -13,43 +13,34 @@
{block name="main-content"}
<div class="main">
{* Parameters *}
{$limit={$smarty.get.limit|default:8}}
{$product_page={$smarty.get.page|default:1}}
{$product_order={$smarty.get.order|default:'alpha'}}
{$product_order={$smarty.get.order|default:'new'}}
{$product_type={$smarty.get.type|default:'new'}}
<article class="col-main {$smarty.get.mode|default:"grid"}" role="main" aria-labelledby="main-label">
<article class="col-main {$smarty.get.mode|default:"grid"}" role="main" aria-labelledby="main-label">
{if $smarty.get.type == "new"}
<h1 id="main-label" class="page-header">{intl l="View all"} {$smarty.get.type} {intl l="products"}</h1>
{else}
<h1 id="main-label" class="page-header">{intl l="View all"} {intl l="offers"}</h1>
{/if}
{include file="includes/toolbar.html" toolbar="top" limit=$limit order=$product_order}
<div id="category-products">
<div class="products-content">
{ifloop rel="product_list"}
<ul class="product-col-3">
{if $smarty.get.type == "new"}
{loop type="product" name="product_list" limit=$limit page=$product_page order=$product_order}
<h1 id="main-label" class="page-header">{if $product_type == "new"}{intl l="Latest products"}{elseif $product_type == "offers"}{intl l="Product Offers"}{/if}</h1>
{assign var="amount" value="{count type="product" promo="{$product_type == "offers"}" new="{$product_type == "new"}"}"}
{include file="includes/toolbar.html" toolbar="top" limit=$limit order=$product_order amount={$amount}}
<div id="category-products">
<div class="products-content">
{ifloop rel="product_list"}
<ul class="product-col-3">
{loop type="product" promo="{$product_type == "offers"}" new="{$product_type == "new"}" name="product_list" limit=$limit page=$product_page order=$product_order}
{include file="includes/single-product.html" product_id=$ID hasBtn=true hasDescription=true width="700" height="320"}
{/loop}
{else}
{loop type="product" name="product_list" promo="yes" limit=$limit page=$product_page order=$product_order}
{include file="includes/single-product.html" product_id=$ID hasBtn=true hasDescription=true width="700" height="320"}
{/loop}
{/if}
</ul>
{/ifloop}
{elseloop rel="product_list"}
<h2 class="text-center">{intl l="No results found"} </h2>
{/elseloop}
</div>
</div><!-- /#category-products -->
{ifloop rel="product_list"}
{include file="includes/toolbar.html" toolbar="bottom"}
{/ifloop}
</ul>
{/ifloop}
{elseloop rel="product_list"}
<h2 class="text-center">{intl l="No results found"} </h2>
{/elseloop}
</div>
</div><!-- /#category-products -->
{ifloop rel="product_list"}
{include file="includes/toolbar.html" toolbar="bottom" amount={$amount}}
{/ifloop}
</article>
</div><!-- /.layout -->