Thelia v2.1.0-alpha2 Release Notes
-
- β‘οΈ Update Process :
- update command has been removed and replaced by a php script and a web wizard. Read the UPDATE.md file
- Templating :
- Smarty is now a dedicated Module and no more present in the core of Thelia
- All the template logic works now with abstracted class or interface, so it is possible to create a new Module for an other template engine
- A new interface has been introduced, the ParserHelperInterface : its purpose is to parse a string and get all π parser's function and block with theirs arguments.
- A new service has been introduced : thelia.parser.helper and it must be the implementation of ParserHelperInterface
- If you want to create a new Template module, you must declare those services :
- thelia.parser : the class that implements ParserInterface
- thelia.parser.helper : the class that implements ParserHelperInterface
- thelia.parser.asset.resolver : the class that implements AssetResolverInterface
- Routing :
- new notation
a:b:c
=>Foo:Bar:Baz
will executeFoo\Controller\BarController::BazAction
method
- new notation
- Module :
- New schema for modules
- Module installation from back office
- Dependency check to Thelia version and other modules during installation, activation, deactivation and deletion
- Smarty :
- new plugin
flash
to support symfony flash message. - new plugin
default_locale
. This function is used for forcing the usage of a specific locale in all your template. Useful for email and pdf. eg :{default_locale locale="en_US"}
- function
intl
has a new argument :locale
. If used, this locale will be used instead of session's locale
- new plugin
- Loop :
- new method addOutputFields in order to add custom fields in an overridden loop
- β
Tests:
- Move tests from
core/lib/Thelia/Tests
totests/phpunit/Thelia/Tests
- Update PHPUnit from 4.1.3 to 4.1.6
- Move tests from
- Symfony components:
- Update from 2.3.* to 2.3.21
- REST API:
- Implement the first version of the REST API. You can find the documentation here
- Forms: New implementation of Symfony form component that now handles form types, form extensions and form type extensions
- You can use the tags
thelia.form.type
,thelia.form.extension
andthelia.form.type_extension
to declare yours - Implementation of many form types for thelia, see the namespace Thelia\Core\Form\Type
- You can use the tags
π DEPRECATED
- π
\Thelia\Core\HttpFoundation\Session\Session::getCart
is deprecated. UsegetSessionCart
instead. - π
\Thelia\Cart\CartTrait
trait is deprecated. Use\Thelia\Core\HttpFoundation\Session\Session::getSessionCart
for retrieving a valid cart.
2.1.0-alpha1
- β Added sale management feature
- β Added
module_id
parameter to Area loop - β Added "Shipping configuration" button to the delivery module list, with a warning if no shipping zone is assigned to the module.
- Added the
show_label
parameter to therender_form_field Smarty
function. - Added the
exclude
parameter toform_hidden_field
function. - β Added the
product
parameter to theattribute_availability
loop. - β Added the
sale
parameter to theproduct
loop. - β Added visible argument to image/document classes
- Added
new
,promo
anddefault
parameters toproduct_sale_elements
loop - Added
store_notification_emails
, which contains the recipients of shop notification (such as order placed) - β Added admin notification e-mail for order placed
- π Improved other emails (specially text versions)
- Added ORDER_SEND_NOTIFICATION_EMAIL event
- π class-loader component is removed, it was not used anymore.
- β‘οΈ Updating stock when changing order : canceled status
- β Added virtual products feature.
- Added new delivery module for virtual products.
- β Added meta data feature to associate core elements and various data.
- Added
allow_negative_stock
configuration variable to allow negative stock or not (default is no) - β Added the ModuleConfig table, to provide modules an easy way to store their configuration parameters, with I18n if required.
- β Added the
module-config
loop - β Added getConfigValue() and setConfigValue() static helper methods to BaseModule to offer an easy way to get/set a module parameters
- π¨ Refactored the Cheque module, to use the new ModuleConfig, and send an email to the customer when its payment is received.
- β Added the wysywig.js hook to official hooks, so that any page which needs a WYSYWIG editor will only have to put this hook in the JS section to get one.
- π¨ Refactored Tynimce module according to wysywig.js hook
- Moved cart and order flush in the Order action, triggered by the ORDER_CART_CLEAR event. Payment modules which redirects to a non-strandard route (e.g., not /order/placed/{order_id}) should fire this event.
- π¨ Refactored assets generation.
- π
file
parameter of asset related smarty functions (stylesheets
,javascripts
, Γ¬mages`, ...) should not contains ../ - β Added remember me feature for customer sign in process
π ##DEPRECATED
π Redirect methods are deprecated. You have now two ways for generating a redirect response :
- π» Throwing a Thelia\Core\HttpKernel\Exception\RedirectException with a given URL
- If you are in a controller, return an instance of \Symfony\Component\HttpFoundation\RedirectResponse
- Never ever send a response. Only the HttpKernel class is allowed to do that.
π Deprecated methods :
- Thelia\Controller\BaseController::redirect
- Thelia\Controller\BaseController::redirectSuccess
- Thelia\Controller\BaseController::redirectToRoute
- β‘οΈ Update Process :