Welcome to eZpedia!
| The free eZ Publish encyclopedia that anyone can edit. eZpedia has accumulated 722 english articles since 2006. We encourage you to create an account and create or edit a page yourself. Some folks create an article in the people namespace with their full name as the article name with a brief description of who they are, their interests, goals and objectives. Ask A QuestionDo you have an eZ Publish question, do you need an eZ Publish answer? Simply login and ask your question in our discussion forum. We publicly write free documentation based on your submissions. Posting on eZpedia is a great way to get answers you need and contribute to our freely available community documentation for eZ Publish. Chat with other eZ Publish Developers LIVE from around the World!EcosystemRead about what is going on within the various eZ Publish related websites on internet. Recent development activityTrack the development progress through the roadmap by reviewing recent Exponential Git activity from the github repository. Last updated: 2026-09-11T09:48:06Z
2026-09-11T09:48:06Z
Added: bcusauserShopAccountHandler shop account handler. Carries over the handler from the bcwebshop kernel override so a site can select it with shopaccount.ini [AccountSettings] Handler=bcusauser. It extends eZUserShopAccountHandler and inherits its behaviour unchanged, which now includes reading the address from <city> with a fallback to the older <place> tag. Not active by default: shopaccount.ini ships Handler=ezuser.
2026-09-11T09:13:51Z
Merge pull request #95 from se7enxweb/shop-basket-cart-ini-switch Added: Configurable name for the shop basket page.
2026-09-11T09:11:28Z
Added: Configurable name for the shop basket page. The basket was reachable only at /shop/basket/, with that name hardcoded in twelve places across six kernel scripts and in every shipped template's form action, so a site that wanted to call it a cart had to fork kernel/shop. shop.ini [BasketSettings] BasketViewName now decides the name. Any simple token works - basket, cart, buyer - and routing, redirects, form actions, the breadcrumb and the template lookup all follow it. Letters, digits, dash and underscore are accepted; anything else falls back to basket rather than producing a URL that routes nowhere. eZBasket gains two static methods. viewName() returns the validated setting. viewTemplate() asks the design system whether shop/<name>.tpl exists and returns basket when it does not, so a new name needs no template of its own while a themed one still gets its own file - design/standard's shop/cart.tpl ships as the worked example and includes the basket markup rather than duplicating it. kernel/shop/module.php registers the configured name as a view at runtime, alongside basket. Both run the same basket.php, so there is one code path and nothing can drift between the two names, and an existing link to /shop/basket/ keeps resolving whatever the setting. $FunctionList['basket'] in function_definition.php is deliberately untouched: that is the shop/basket policy function name, and renaming it would break every role policy granting access to the basket. Templates take the name from the basket_view_name variable the module sets, with a fallback, rather than reading the setting themselves. Four kernel faults found while wiring this up are fixed here too, all of them present at the default setting: Adding a product to the basket did nothing. operation_definition.php declares option_list as a required parameter of type array, but add.php passed the session variable straight through and it is simply unset for a product with no options. The parameter check failed and the operation returned STATUS_CONTINUE without running its body, so the request redirected to the basket having added nothing and logged no error. addToBasket() then called array_keys() on that same non-array, which is fatal on PHP 8. The option list is normalised at the top of the method. currentBasket() matched on session_id alone, so a basket already attached to an order but with a blanked session was handed to any request arriving without a session id, and items were added to a dead basket. The lookup now also requires order_id = 0. userregister.php required address line 2 and ignored line 1 - the stray indentation on that if suggests it was never intended - so a form filled in the obvious way could not be submitted and gave no clue why. Line 1 is now the required one. The same script accepts City with a fallback to Place, stores the address line as <city>, and collects an optional <phone>, required only when the form offers the field so shipped templates without it are unaffected. eZUserShopAccountHandler reads <city> with a fallback to <place> and returns the address under both keys, so orders stored before the rename still render. doc/bc/6.0/shop-basket-view-name.md documents the setting, the API, the template contract and the compatibility notes. share/filelist.md5 is regenerated for the changed kernel, settings, design and doc files. It is generated from the document root the web server actually serves, so it lists only the files a checkout contains: a run from the project directory instead picks up local working trees that are not part of the release, which added several thousand spurious entries.
2026-09-03T04:11:28Z
Updated: Updated file listing md5 hashes
2026-09-03T03:51:46Z
Added: expInfo PHP API and expinfo template operator.
Added: expInfo class in lib/ezutils/classes/expinfo.php for querying
active/available extensions and the installation kernel.
Added: eZTemplateExpInfoOperator and registered the expinfo template operator.
Added: doc/bc/6.0/expinfo-operator.md and ai/doc/expinfo_operator_wave_1.md.
Updated: kernel/setup/extensions.php to collect metadata via expInfo.
Updated: design/admin/templates/setup/extensions.tpl with Extension/License
columns and detailed extension info cards.
Updated: autoload/ezp_kernel.php for expInfo and eZTemplateExpInfoOperator.
2026-09-01T14:55:29Z
Updated: Prevent fatal error when serializing empty relation list items. The package export of ezobjectrelationlist attributes crashed with "Call to a member function attribute() on null" when a relation item had an empty contentobject-id. Add a null check before reading the remote_id and skip those items.
2026-09-01T01:48:32Z
Added: se7enxweb/ngclasslist dependency so the ngclasslist datatype is available for the ng_menu_item content class. |
Recent discussionsRead what others are discussing |
|
Recently updated articlesRead recently modified articles
|
||
