New stable Release Candidate for 3.0.20 released, please anyone test.

Started by Milbo, March 06, 2017, 20:05:56 PM

Previous topic - Next topic

Milbo

Let it happen, lets create the golden version. The team worked well with new found bugs and new ideas. This version is cached and optimised.

Really new is the new handling of the category view. The old "virtuemart" frontpage view is now deprecated and will not be developed further. But VM does not delete it, it should still work. the new category view has all old options of the "frontpage" view, so it replaces the old frontpage view. All these settings have globals in the vm config, parameters in the menu items and even in the categories itself (which overwrites any other setting if set).

There is now a new setting in the vm config to enable legacy layouts, when you update an old store, it should be automatically enabled. But adjusting the layouts is also not a lot work and explained at the bottom of these topic.

Another new architectural feature is the new handling of the JLanguage object. Vm uses now its own cache system, but the always the orginal joomla language object. vmText needs to get the JLanguage object set. This has several advantages,
- we can handle now different languages in one page call, for example different email languages. The way before was reusing the old JLanguage object and loading another language over it.
- Overrides for other languages must not be anylonger in the override file of the main language, because any new Language object reads now the correct overrides.
- No performance lost, when we use it on other systems. It reuses the joomla object,
- less overhead

But it has also a disadvantage that some plugins using the "onAfterInitialise" trigger make problems, in case a multilanguage page is used. When the plugin uses the VmConfig::loadConfig(), then it should use the new extra parameter to prevent that the wrong language is initialised.

http://dev.virtuemart.net/attachments/download/1057/com_virtuemart.3.0.19.9_extract_first.zip

r9466
- changed function renderCustomfieldsCart so, that it can display extra data by product and user input data
- Added vmdebug as echo to add to cart popup
---------------------
r9465
- updated vmUserfieldPlugin so that its params work similar as the other vmtable params. Is now also php7 compatible. 
- function declarePluginParams is only checking by name, not extension_id anylonger and removed the & in the foreach for ...
---------------------

r9464
- Vm Variables for the js are set strict mode compatible
- add to cart function uses now array_unique on the product ids to add and
- vendor emails are now sent always with the vendor language with fallback to joomla default language
---------------------

r9463
- Added missing state="0" for sqls using the joomla extension table. This is important, when someone uninstalled and reinstalled a plugin.
---------------------

r9462
- added missing {}, which fixes a parsing error for some browsers setting the js variables
- fixed the problem that the registration mail was always sent
---------------------

r9461
- added order_created to getOrder, created_on still points to the BT address
- removed default image sizes from customfields with media params
- MV removed children do not appear as ghosts anylonger
- parameters of customfields not set in the product edit do not set a default value anylonger, so the value of the customprototype is used
- product filter product_parend_id is not anylonger stored by session (just by Request)
- userfields are now escaped with htmlspecialchar and not htmlentities anylonger
- fixed cloning of products in multilanguage shops
---------------------

r9459
- BE view orders list und order edit js enhanced
- customer email blocked for storing order edits (use update status for mails)
- removed json_encode while storing of empty $_orderItems->product_attribute
---------------------

r9458
- Added new getCache function, replaced all JFactory::getCache against VmConfig::getCache fixed error due cast to int in getMemoryLimitBytes
---------------------

r9457
- Added extra check for isFEmanager if user is actually logged in.
- removed old configs in cart helper 
- changed a bit css so that add to cart button can be shown as span
---------------------

r9456
- Amazon Pay removed VMPAYMENT_AMAZON_PAYMENT_NOT_AVAILABLE message, when the method cannot be selected 
- added vmdebugs to condition checker of Amazon plugin, so that shopowners get tips to understand why Amazon is not selectable
---------------------


r9450
- changed manufacturers to manufacturer
---------------------

r9449
- fix for product edit manufacturers 
- fix for FE category view 
- on interpreteMathOp possibility to check for payment or shipment
---------------------

r9448
- Language switcher works now again for children
- vmplugin.php moved loading of classes to constructor
- displayLinkToParent works now with language fallbacks
---------------------

r9447
- enhanced language switcher js for the admin menu. JS has now own library, which is usually already cached
---------------------

r9446
- fix for category search with multilanguage fallbacks
- fix for tcpdf font listing, when tcpdf is not installed
- fix for default ordering in product listing with multilanguage fallbacks
- JRegistry was missing a new => new JReqistry
- added vRequest::setVar('doVendor', $this->doVendor); to invoice renderMailLayout
---------------------

r9445
- removed jumping of category dropdown due ajax (thx Spyros Petrakis)
- new function in vmtable checkTableExists
- vmpsplugin uses now checkTableExists
- fixed rounding of customfield property by adding a new option "use rounding"
- prices list show all prices
- added coupon to revenue (as extra column)
---------------------

r9444
- Fix in install script so that it should use directly the right folder (the fix of the fix)
- Added config which price should be used, when more than one fits (old selection used always the higher price)
- changed the 0 product group (normal products in the browse view) to "products"
- other minors
---------------------

r9443
Changed en-GB language string to more precisely describe the tab for recent order status changes in orders view.
---------------------

r9442
Changed German language string to more precisely describe the tab for recent order status changes in orders view.
---------------------

r9441
added config "show_subcat_products" enhanced fallback of meta data in the category view fixed typo in sql inserting bulgarian states
---------------------

r9440
- fixed coupon search (thank you sandomatyas)
- added log message, when language was not correctly loaded.
- vmTrace can now log and render the message (before log or render)
- related products use now normal price display
---------------------

r9439
fix for related products, destroyed the ajax of multivariants update by Stefan Schumacher for the 3 price lists (cart, invoice, orders) removed old tags against inline style (yeh, class comes later)
---------------------

r9438
- added parameter for loadConfig, so that it can be used without initialising vmLanguage (important for use in onAfterInitialise event)
- added some missing language keys - fix for topten global config value (typo)
---------------------

r9437
Centered related products & related categories images. Fixed float of related categories.
---------------------

r9436
Fixed orphan tags of products sublayout. Added missing discount amount in prices sublayout and language constant for total discount amount.
---------------------

r9435
- bulgarian states added by servlet
---------------------

r9434
replaced i. against c. in getCategories
---------------------

r9433
added fallback for categories in the backend list config model function getTCPDFFontsList, replaced function glob against RecursiveDirectoryIterator
---------------------

r9432
vmprices.js setproducttype checks now for the classes product-container, productdetails, vm-product-details-container Router loads the vmconfig directly for proper parsing of translated products
---------------------

r9431
Fixed legacy problem with the product per row parameter of the categories. All additional category/template/layout Parameters use now an empty String instead of "default" or 0
---------------------

r9430
- added "no override" setting to the category layout/template parameters
- this implies replacing the 0 option by empty string
- small fix in weight_countries.php, which prevented a checkout when there was no method for weight_countries.php configured and another shipment plugin used
---------------------

r9429
- fix in router for better BC, loads vmConfig and sets in case the right language, this is need because some plugins load vm before the right language is set by joomla
- facebox, disabled asynchron and defer loading
- vmLanguge function setLanguage is now private, setLanguageByTag should be used
---------------------

r9428
getGetUrl is using now getCurrentUrlBy, proxy function stays VmConfig setdbLanguageTag uses now vmLanguage::setLanguageByTag instead of vmLanguage::initialise, better for BC
---------------------

r9427
- Added parameters of category view to the vm category itself. This includes also renaming of some parameters in the vmconfig, updater is provided
- added clone $product for the triggers plgVmOnProductDisplayShipment and plgVmOnProductDisplayPayment to prevent that the trigger changes accidently the selected variant of the product
---------------------

r9426
setProductType for related products minors, mainly versions stuff
---------------------

r9424
loaded vm instance of install script is now using the temp install folder moved class vmLanguage in own file replaced some JText against vmText little fix for authorize.net and php7.1 little fix for avatax
---------------------

r9423
fixed copypaste typo for fallback of language fallback  enabled legacy layout by default for updaters
---------------------

r9422
replaced DS against / for load vmconfig
---------------------

r9421
added parameter ignore to function getCurrrentUrlBy fixed function getOrderByList in product model, got slightly broken due shortly introduced function getCurrrentUrlBy
---------------------

r9420
Replaced VmConfig::loadJLang against vmLanguage::loadJLang('com_virtuemart');
---------------------

r9419
Again some fixes for the multilanguage system, added new variable $currLangTag, which keeps always the last set language.
---------------------

r9418
- little fix in calculation, category settings work now also for discounts of rules per bill
- check in vmtable if language tag is correctly set, else it calls vmLanguage::initialise()
- fix in vmtable (for vmusers) function check, new registered users got vendorId of the admin creating the user
- fixed ordering for product names in BE list, works also with language fallbacks
- function renderMail uses now the default backend language for the messages to the vendor
- little fix in vmpdf to prevent notice
- minors, changed comments, commented debug messages, ...
- check in weight_countries.php, which prevents that the wrong shipment is autoselected
---------------------

r9417
added new field vmlisttable, handy to display lists of models (maintable) paypal has now optional conditional shipments
---------------------

r9416
changed calculation of order edit function. again small changes in the language system. Should be done now. Important the fallback to the tag $jSelLangTag is wrong in case vm changed the tag,
---------------------

r9415
More fixes for the language system, still WIP
---------------------

r9414
Enhanced language system, moved language functions of VmConfig in own class vmLanguage
---------------------

r9413
replaced http://www.virtuemart.net against ${PHING.VM.MAINTAINERURL}
---------------------

r9412
Updated "update xmls" to vm3.0.18
---------------------

r9411
Include VMConfig for 3rd party developers that uses this field
---------------------

r9410
added option for related products to have an add to cart button added the options for "invoice in user language " and "debug email" which outputs the emails as message instead of sending them. added check for soap in avatax
---------------------

r9409
- Added total prices (price per item multiplied by quantity)
- cleaned a bit the price arrays, we use now always the one defined in CurrencyDisplay
- removed ENT_HTML401 because it is not defined for php 5.3
- added check in cart.php prepareAjaxData if images are available
- little display fix in heidelpay
---------------------

r9408
Update for heidelpay
---------------------

r9407
renamed installation folder to installationj2
---------------------

r9406
- new function getCurrentUrlBy, which creates a link by Request (get,post) by a whitelist of variablenames correct redirect urls for login, etc loading of product images for ajax cart data with parameter now
---------------------

r9405
Added product img thumb for Ajax Cart
---------------------

r9404
final adjustments for the new language system and other minors (removing debugs, comments, etc)
---------------------

r9403
Looks like the language problems with FE/BE and different languages within the render process are solved
---------------------

r9402
Better language system, we load different languages now in different JLanguage instances email function got seperated in different functions,  some minors regarding last committs
---------------------

r9401
fixed report for daily filter, should now work also with correct time offset
---------------------

Should I fix your bug, please support the VirtueMart project and become a member
______________________________________
Extensions approved by the core team: http://extensions.virtuemart.net/

Milbo

r9400
- added feedback when user registration is forbidden by joomla
- increased execution time and memory limit for table updater
- added additional keys for table
- enhances sample data (more reasonable)
- removed nasty bug for 3rd party developes which prevented the update of order items using the function updateStatusForOneOrder
---------------------

r9399
Each language uses now its own JLanguage object, makes it a lot easier to render different languages  more failsafe solution in model product.php for getProductShoppersByStatus in case a userfield is deleted
---------------------

r9398
prepareCartData must create tmpProducts without calculation new idea for router, disabled by hidden config  useGivenItemid some minors
---------------------

r9397
Heidelpay adjustments for php 7 and some minors
---------------------

r9396
fix for editor cf, don't compare JDocumentHTML case sensitive, since Joomla changed it to JDocumentHtml
---------------------

r9395
Removed link and added zip code to ship to addresses names
---------------------

r9394
Replaced span with legend element that is the correct to use as a fieldset caption.
---------------------

r9393
fix for JCE 2.6.0
---------------------

r9392
sorting on countries published: fix on hash
---------------------

r9391
sorting on countries published, 
---------------------

r9390
- "Shopper group back to default after order finished." fixed http://forum.virtuemart.net/index.php?topic=136077.0
- htmlentities does not use ini_get("default_charset") anylonger, is set to UTF-8
---------------------

r9389
stockhandle getUncategorizedChildren
---------------------

r9388
- hidden fields also in order edit (by Rupostel)
- increased max_execution_time and memory_limit in installer
- js for add to cart does not check anylonger for the dom type, so it can be used with spans also
- small fix which is sometimes necessary to be redirected to the correct product after writing a review
---------------------

r9387
- fix for order/invoice/mail shopper language, when the shop language has not english as default language (=joomla default site language) - Deletion of cache with manual set options - css files use for vmver now also the decrypted version
---------------------

r9386
- accidently commented line in onSelectedCalculatePrice
- little gui bug in order edit view fixed (happened due enabling the "delete order item")
- removed notice in views/invoice/view.html.php when a order item was edited and does not point to a product
---------------------

r9385
gathered all media edit scripts to one script "mediahandler.js" gathered product scripts to product.js removed a lot scripts (for products and media) from the vm2admin.js, added "sortable" and "hide price"
---------------------

r9384
- replaced more json_encode against vmJsApi::safe_json_encode
- Added some sql tabke keys id,ordering
- small optimisations of sql for using keys better
- userfields security enhancement by Rupostel double encoded html entities, param changed
- function renderPluginName uses the plugin_name but is also set in function displayListFE to the plugin_name, is cached now to prevent "doubled icons"
- removed old comments
- fixed selection of paypal (removing of paypal express from the select list, removed it completly)
---------------------

r9383
- Added new function in router.php which takes care of loading ids or slugs with multilang using the vm config vm_lfbs. This function maybe more enhanced and added to VmModel
- enhanced function getPluginMethods in vmpsplugin.php
---------------------

r9382
Fixed language for invoices header and footer, need resetting of vmlang by VmConfig::setdbLanguageTag added user language to order, is also interesting for support fixed categoryListTree for view category in BE Minors to prevent notices
---------------------

r9381
- Added new Function vmConfig::getMemoryLimitBytes, which returns the set memory_limit with Bytes
- replaced old ini_get('memory_limit') by the new function
- Added parameter to function setdbLanguageTag, so that we can change the language while runtime, does NOT work for the overrides.ini
- fixed "typo/copypaste" error in productdetails/tmpl/default.php, which breaked BC
---------------------

r9380
Updated de-DE.com_virtuemart.sys.ini
---------------------

r9379
Updated FE de-DE.com_virtuemart.ini
---------------------

r9378
Updated FE en-GB.com_virtuemart.ini
---------------------

r9377
- VirtuemartModelConfig function getLayouts, added param to disable the empty option
- "gui" fixes for customfield Multivariant. Showed sometimes a phantom child and for some workflows a false error.
- enhanced the layout for the view global settings in vm config
- moved translation of payment_info in the orderdone page higher so that it should be translated (was before translated, but the "name" was created before)
---------------------

r9376
Updated de-DE.com_virtuemart_orders.ini
---------------------

r9375
Added some casts to int while storing customfield to prevent other "skalar" errors minors
---------------------

r9374
- Found the error "scalar", happened when a boolean is cast to object
- moved js script of mediahandler in own file
- removed useles "nextCustom" Minors
---------------------

r9373
Correction in de-DE.com_virtuemart_config.ini
---------------------

r9372
Corrected a copy/paste error in BE de-DE.com_virtuemart.ini
---------------------

r9371
Added some missing quotes in de-DE language files
---------------------

r9370
Updated de-DE.com_virtuemart_config.ini
---------------------

r9369
Updated en-GB.com_virtuemart_config.ini
---------------------

r9368
Corrected typo in language key in file default_templates.php
---------------------

r9367
Fixed typo in BE en-GB.com_virtuemart.ini
---------------------

r9366
BE de-DE.com_virtuemart.ini update
---------------------

r9365
BE en-GB.com_virtuemart.ini update
---------------------

r9364
fixed typo in Omit feature removed comments
---------------------

r9363
- rewritten getMyOrderDetails, works now whitelisted
- security enhancement for model userfields by Stan Scholtz (Rupostel)
- language fallback for manufacturer for routing
- little fix for paypal express, removed the possibility to select it as option to prevent errors with ajax
- enhanced getting id for creation of childs and cloning products
---------------------

r9362
switch for loading JHtml::_('behavior.formvalidation'); in vmsjapi and replaced in any files by vmValidator minors
---------------------

r9361
configuration for the feature to omit already loaded products
---------------------

r9360
Ordering for products got lost due a "typo" fixed prices for products, even when a child had a price, there was no price set if the parent had no price, fixed.
---------------------

r9359
- fixed sql in model category function getParentsList when language fallback is needed
- fixed sql of shipment and payment model function getPayments and getShipments (kind of typo a missing alias after the "as"
reverted the sql for $stockhandle == 'disableit_children' used in MV customfield
another way in the router to grant that the productmodel is loaded
---------------------

r9358
added vm config option for legacy layouts fixed sql error in customfield.php  sef lang keys must not have the same translation!
---------------------

r9357
fix for german mf seo links
---------------------

r9356
moved function getRecentProductIds from shopfunctionsF.php to the product model  wrote fallback for ajax for old layouts
---------------------

r9355
replaced getCleanUrl against getGetUrl
---------------------

r9350
mf orderby list
---------------------

r9349
added hashing of vmver fixed sql getPluginMethods
---------------------

r9348
- vmURI added function getGetUrl, which delivers the current Url by the GET var
- fixed "show more revues" button.
- model category function getCategory, added check so that an empty category does not try to load medias
category view shows now products, when a keyword is available.
---------------------

r9347
fixed BE ordering of shipment and payment methods
---------------------

r9346
Added "cache" option for language loader, furthermore to language loading functions check if the language has changed and load only if necessary. We must sometimes reload the whole language, when need to render views in different languages.
---------------------

r9345
choose between replace, add and remove for product bulk associations
---------------------

r9344
- exchanged "round" against "roundInternal" in calculation helper http://forum.virtuemart.net/index.php?topic=135622.msg473786#msg473786
- function getParentProductcategory in router.php uses now already cached products if available
---------------------

r9343
- productDisplayShipments, productDisplayPayments fixed typo payment and shipment model missed i. for ordering
---------------------

r9342
- enhancement for the router and product model getProductParentId uses now usually already loaded and cached data of the getProductSingle function. Also the name of the products are now taken from the cache. Usually products are loaded already anyway.
- The function to load prices by the parents is disabled and the normal deriviation in getProduct is used.
---------------------

r9341
- category model getParentsList replaced using against ON - getCategoryRecurse sql is not executed for child_id = 0 anylonger
---------------------

r9340
- adjusted category/view.html.php to reflect the new options better
- view/category/tmpl/default.php changed if($this->showproducts) against if (!empty($this->products)) the option is considered while loading the products and dont need to be checked there
- adjusted product_horizon to work with variant ajax reload
---------------------

r9339
BE product listing, enhanced link creation, is now prepared and cached with static variable some minors
---------------------

r9338
fixed sql in calculationh.php (using against ON) vmviewadmin.php restructured a bit  static variable to cache getVendorId
---------------------

r9337
hover title for image search results
---------------------

r9336
enhanced display of category ajax loading in BE
---------------------

r9335
- check if vmdebug should be shown works now with a static of VmConfig and not with a function. The functions is now executed in loadConfig if needed.
- fixed getParentlink query in product edit
- added jExit to json loading of category to prevent errors
- other minors to prevent notices
---------------------

r9334
Disabled updater for menu links of the "virtuemart" view. fix of sql in route for strict mode.
---------------------

r9333
productDisplayShipment and productDisplayPayment fix
---------------------

r9331
added deep category search for product links by GJC replaced more "using" against "on" in sql
---------------------

r9330
Some sql were broken for multivendor using fallback for fallback language. replaced "using" in sql against ON weight_countries.php function plgVmOnProductDisplayShipment moved $cart->prepareCartData(); after check for show_on_pdetails
---------------------

r9329
little cosmetical changes for order BE
---------------------

r9328
enhanced order listing, more information, combined some columns changed some default settings of the updater, so that updaters should not notice any difference
---------------------

r9327
discontinued products main config
---------------------

r9326
Shipmentmethod in the order list BE (by Alatak) colors for order status for faster BE order list reading (by Alatak)
---------------------

r9325
- Added common function "useSSL", which considers the option in vm and joomla
- added category reloading by ajax
---------------------

r9324
reimplemented last discontinued products changes
---------------------

r9323
minor in sublayouts/customfield.php to prevent a notice createClone works now with getProductSingle, so that clones are still completly configurable by the parent
---------------------

r9322
ajax loading of categories in the product listing and product edit
---------------------

r9321
New update language key for the category view and other
---------------------

r9320
- Added more global options to the new category parameters reused old vm config options (partly of the homepage settings) as global options for the new category parameters
- Adjusted also the newsfeed of the category view to work as the homepage feed.
---------------------

r9319
Adjusted also all in one script for the new config helper  replaced also VmConfig::setErrorReporting by VmConfig::setErrRepDefault
---------------------

r9318
added shopFunctionsF::loadOrderLanguages, which loads the language files "shoppers" and "orders" with fallbacks and for the requested extra language
---------------------

r9317
config helper and regarding config model for WP
---------------------

r9316
don't clone product data from parent
---------------------

r9315
Itemid for product links
---------------------

r9314
added discontinued products to views
---------------------

r9313
global category settings
---------------------

r9312
changed router, load homeid after trying to get the activeMenu
---------------------

r9311
- renamed stockhandle_discontinued_products to stockhandle_products
- renamed product_remaining_stock to product_discontinued
- removed avfind.js is now added to cvfind.js
- small fix in amazon orderreferencenotification.php
- cart sets vendorId=0, when all products are removed an in multivendor mode
---------------------

r9310
removed asynchron loading of MV script, created random errors on some browsers
---------------------

r9309
ajax loading of categories in product edit  prevented ambigous product_mpn  some minors
---------------------

r9308
more routing for category view
---------------------

r9307
More for category view and routing of it
---------------------

r9306
udpate_cart.js More jQuery to $
---------------------

r9305
Standard shipment plugin: Fixed a small issue, that deactivation of "show on productdetail" was not correctly loaded in the settings
---------------------

r9303
config for stockhandle on product level
---------------------

r9302
missing lang key for FE
---------------------

r9301
no public error for missing images
---------------------

r9300
Fixed invalid br tag.
---------------------

r9299
Fixed HTML validation issue of cartpos[] input, moved in td. tr elements can accept only td and th elements as childs.
---------------------

r9298
- new Handling of session in function emptyCartFromStorageSession, should throw an logged error in case someone has an unpatched joomla
- function getLayouts in config model checks for empty directories
- added missing class for ajax to the product module layout "single"
- added using $this->isPdf to the cart layout to prevent printing of unnecessary forms
---------------------

r9297
- javascript added boolean setBrowserState to prevent optionally the setting of browser state by ajax 
- avfind and cvfind js, additionally checks to prevent endless "while loops"
---------------------

r9296
- Fix for paybox IP problem http://forum.virtuemart.net/index.php?topic=135600.0
- removed deprecated layout login.php in user view, is now replaced by sublayout login
---------------------

r9295
- added stockhandle on product level
---------------------

r9294
- fixed wrong detection of the default language
- added that commas are also replaced for desired final price
- also ratings are autopublished (worked already for revenues)
- MV were sortable, but did not show the right order in product edit, fixed
- language depended sample data is loaded, when available (with suffix _fr_fr for example)
- fullinstaller has virtuemart sample data already selected
---------------------
Should I fix your bug, please support the VirtueMart project and become a member
______________________________________
Extensions approved by the core team: http://extensions.virtuemart.net/

Milbo

The layout changes are moderate. With enabled legacy mode any of the old layouts should still work as before. These should not change the way your store works. These changes just fix small bugs of certain features, or just enhance the visual look of the layout. But to prevent problems with the old deprecated virtuemart view, you must update the category layout, so that all options of the frontpage work with it. Just open the default layout of the category view and search for

around line 49

if (empty($this->keyword) and !empty($this->category)) {


and replace it by

if ($this->show_store_desc and !empty($this->vendor->vendor_store_desc)) { ?>
<div class="vendor-store-desc">
<?php echo $this->vendor->vendor_store_desc?>
</div>
<?php }

if (!empty(
$this->showcategory_desc) and empty($this->keyword) and !empty($this->category)) {


around line 64

if($this->showproducts){


and replace it by

if (!empty($this->products)) {


To keep the search functional, you must update at least
Search also for any empty($this->keyword) and replace it by $this->keyword === false, respectivly !empty($this->keyword) and replace it by $this->keyword !== false around line 64, 75, 157 (this are the lines, when you replaced the other code already).

This is all you need to adjust your layout.

There are of course more changes, also in the sublayouts. For example http://dev.virtuemart.net/projects/virtuemart/repository/diff/branches/com_virtuemart.3.0.12.4/components/com_virtuemart/sublayouts/customfield.php?utf8=%E2%9C%93&rev=9466&rev_to=9292

When your store uses an override for the customfield.php, then you should update your override, to profit from the enhancements.
Should I fix your bug, please support the VirtueMart project and become a member
______________________________________
Extensions approved by the core team: http://extensions.virtuemart.net/

lindapowers

Hi please check custom field of type string, when customer chooses one in a concrete product is appearing below all products even when the custom field is not available for the rest.

Resuming the custom fields appear below each single product of the order as if they were selected for all even in products with no custom fields assigned.


Milbo

ehrm, please open a new thread, and explain it more detailled, I am sorry, I do not understand the issue.
Should I fix your bug, please support the VirtueMart project and become a member
______________________________________
Extensions approved by the core team: http://extensions.virtuemart.net/

lindapowers

Quote from: Milbo on March 07, 2017, 20:19:48 PM
ehrm, please open a new thread, and explain it more detailled, I am sorry, I do not understand the issue.

Is easier with an image, created here https://forum.virtuemart.net/index.php?topic=136849.msg478605#msg478605

mclernons

Just trying it on my localhost.
Children categories are displaying even when set to "No" on the drop down menu.  Changing the number to display alters how many wide shown. 

GJC Web Design

show Children categories can be set in 3 heretical settings

globally, Joomla cat menu, in the cat admin
GJC Web Design
VirtueMart and Joomla Developers - php developers https://www.gjcwebdesign.com
VM4 AusPost Shipping Plugin - e-go Shipping Plugin - VM4 Postcode Shipping Plugin - Radius Shipping Plugin - VM4 NZ Post Shipping Plugin - AusPost Estimator
Samport Payment Plugin - EcomMerchant Payment Plugin - ccBill payment Plugin
VM2 Product Lock Extension - VM2 Preconfig Adresses Extension - TaxCloud USA Taxes Plugin - Virtuemart  Product Review Component
https://extensions.joomla.org/profile/profile/details/67210
Contact for any VirtueMart or Joomla development & customisation

jenkinhill

Kelvyn
Lowestoft, Suffolk, UK

Retired from forum life November 2023

Please mention your VirtueMart, Joomla and PHP versions when asking a question in this forum

GJC Web Design

depends if your a non believer...     ;)
GJC Web Design
VirtueMart and Joomla Developers - php developers https://www.gjcwebdesign.com
VM4 AusPost Shipping Plugin - e-go Shipping Plugin - VM4 Postcode Shipping Plugin - Radius Shipping Plugin - VM4 NZ Post Shipping Plugin - AusPost Estimator
Samport Payment Plugin - EcomMerchant Payment Plugin - ccBill payment Plugin
VM2 Product Lock Extension - VM2 Preconfig Adresses Extension - TaxCloud USA Taxes Plugin - Virtuemart  Product Review Component
https://extensions.joomla.org/profile/profile/details/67210
Contact for any VirtueMart or Joomla development & customisation

Milbo

New Version with fixes for the last problems and enhanced calculation for order editing.

http://dev.virtuemart.net/attachments/download/1057/com_virtuemart.3.0.19.9_extract_first.zip

I also wonder, I think we should call it vm3.2 or vm3.4, because the last release is 6 months ago and we did a huge step.

Routing:
- load homeid after trying to get the activeMenu
- routing of category and manufacturer ids in category view
- Itemid for product links
- another way in the router to grant that the productmodel is loaded
- Added new function in router.php which takes care of loading ids or slugs with multilang using the vm config vm_lfbs. This function maybe more enhanced and added to VmModel
- sef lang keys must not have the same translation!
- Added previous hidden configuration 'sef_for_cart_links' for SEF links in tab SEF of vm config.

Cache and Optimations
- Added program cache for currency converter. Maybe moved to database
- cached getVendorId
- enhanced link creation in BE product listing, prepared and cached with static variable
- enhancement for the router and product model getProductParentId uses now usually already loaded and cached data of the getProductSingle function. Also the name of the products are now taken from the cache. Usually products are loaded already anyway.
- the check if vmdebug should be displayed works now with a static in VmConfig and not with a function. The functions is now executed in loadConfig if needed.
- function getParentProductcategory in router.php uses now already cached products if available
- sorting on countries published: fix on hash
- Added "cache" option for language loader

Currency:
- Currency can use now empty Space in format
- increased size of currency fields, so that we can use now html entities

Convenience:
Common:
- Updated "update xmls" to vm3.0.18
- missing language keys
- removed id tag from dropdowns to ensure that chosen can always generate a unique id
- little fix in calculation, category settings work now also for discounts of rules per bill
- added deep category search for product links by GJC
- bulgarian states added by servlet
- global category settings
  a) Added parameters of category view to the vm category itself. This includes also renaming of some parameters in the vmconfig, updater is provided
  a) - Added more global options to the new category parameters reused old vm config options (partly of the homepage settings) as global options for the new category parameters
  b) - enhanced the layout for the view global settings in vm config
  c) - Adjusted also the newsfeed of the category view to work as the homepage feed.
  d) added "no override" setting to the category layout/template parameters. All additional category/template/layout Parameters use now an empty string as "default" (no override)
 
Backend:
- ajax loading of categories in Administration area.
- updated links of help file
- Added config which price should be used, when more than one fits (old selection used always the higher price)
- added vm config option for legacy layouts
- function getLayouts in config model checks for empty directories
- fix for tcpdf font listing, when tcpdf is not installed
- "debug email" which outputs the emails as message instead of sending them.
- fixed coupon search (thank you sandomatyas)
- configuration for the feature to omit already loaded products
- fix for JCE 2.6.0
- fix for editor cf, don't compare JDocumentHTML case sensitive, since Joomla changed it to JDocumentHtml
- added discontinued products
- added stockhandle on product level
- config for stockhandle on product level
- choose between replace, add and remove for product bulk associations
- more failsafe solution in model product.php for getProductShoppersByStatus in case a userfield is deleted
- MV were sortable, but did not show the right order in product edit, fixed
- "gui" fixes for customfield Multivariant. Removed phantom child in case it got deleted and fixed for some workflows a wrongly shown error.
- fixed rounding of customfield property by adding a new option "use rounding"
- added that commas are also replaced for desired final price
- createClone works now with getProductSingle, so that clones are still completly configurable by the parent
- fixed cloning of products in multilanguage shops
- fix in vmtable (for vmusers) function check, new registered users got vendorId of the admin creating the user
- added coupon to revenue (as extra column)
- fixed report for daily filter, should now work also with correct time offset (r9401)
- enhanced order listing, more information, combined some columns
- drastically enhanced order editing, please check the help file for the new possibilities
- hidden fields also in order edit (by Rupostel)
- Shipmentmethod in the order list BE (by Alatak) colors for order status for faster BE order list reading (by Alatak)
- fixed BE ordering of shipment and payment methods
- fixed small display error while adding ST address in BE user edit
- also ratings are autopublished (worked already for reviews)
- BE hover title for image search results

Frontend:
- enhanced fallback of meta data in the category view
- added config "show_subcat_products"
- fixed recent products, was missing creating products by returned ids
- added using $this->isPdf to the cart layout to prevent printing of unnecessary forms
- cart sets vendorId=0, when all products are removed an in multivendor mode
- no public error for missing images
- Added total prices (price per item multiplied by quantity)
- related products use now normal price display
- added option for related products to have an add to cart button
- setProductType for related products
- Added product img thumb for Ajax Cart
- removed deprecated layout login.php in user view, is now replaced by sublayout login
- enhanced js toggling the checkout/confirm button
- new Handling of session in function emptyCartFromStorageSession, should throw an logged error in case someone has an unpatched joomla
- added feedback when user registration is forbidden by joomla
- fixed the problem that the registration mail was always sent regardless the joomla configuration
- "Shopper group back to default after order finished." fixed http://forum.virtuemart.net/index.php?topic=136077.0
- fixed "show more revues" button.



Language:
- Better language system, we load different languages now in different JLanguage instances
- moved language functions of VmConfig in own class vmLanguage, moved class vmLanguage in own file
- added new variable $currLangTag, which keeps always the last set language.
- vmLanguge function setLanguage is now private, setLanguageByTag should be used
- check in vmtable if language tag is correctly set, else it calls vmLanguage::initialise()
- added shopFunctionsF::loadOrderLanguages, which loads the language files "shoppers" and "orders" with fallbacks and for the requested extra language
- added parameter for loadConfig, so that it can be used without initialising vmLanguage (important for use in onAfterInitialise event)
- added log message, when language was not correctly loaded.
- added the options for "invoice in user language "
- function renderMail uses now the default backend language for the messages to the vendor
- vendor emails of orders are now sent always with the vendor language with fallback to joomla default language
- fix in router for better BC, loads vmConfig and sets in case the right language, this is need because some plugins load vm before the right language is set by joomla
- fix for order/invoice/mail shopper language, when the shop language has not english as default language (=joomla default site language)
- Fixed language for invoices header and footer, need resetting of vmlang by VmConfig::setdbLanguageTag added user language to order, is also interesting for support
- displayLinkToParent works now with language fallbacks
- Added cloning and creation of childs to product edit view
- Cloning products: Fixed doubled prices of cloned product, happened due reupdating the product after the process
- Cloning products: Fixed missing shoppergroups
- added language fallback for manufacturer
- language fallback for manufacturer for routing
- added fallback for categories in the backend list config model
- fix for category search with multilanguage fallbacks
- fix for default ordering in product listing with multilanguage fallbacks
- fixed ordering for product names in BE list, works also with language fallbacks

Installer/Updater:
- Updating an old vm enables the legacy layout
- added installation language, minors for sample_virtuemart.sql
- added checking for the new order stati, inserted if missing
- fullinstaller has virtuemart sample data already selected
- language depended sample data is loaded, when available (with suffix _fr_fr for example)
- increased max_execution_time and memory_limit in installer and tableupdater
- loaded vm instance of install script is now using the temp install folder
- enhanced sample data (more reasonable)
- changed some default settings of the updater, so that updaters should not notice any difference

Table enhancments:
- Some more fields from char to varchar
- added some keys for faster reading

SQL:
- prevented ambigous product_mpn
- payment and shipment model missed i. for ordering
- Some sql were broken for multivendor using fallback for fallback language. Abstract function planned
- Replaced all "using" in sql against ON (and that was a lot)
- fixed getParentlink query in product edit
- getCategoryRecurse sql is not executed for child_id = 0 anylonger
- fixed sql getPluginMethods
- fixed sql in model category function getParentsList when language fallback is needed
- fixed sql of shipment and payment model function getPayments and getShipments (kind of typo a missing alias after the "as"
- fixed sql error in customfield.php r9358
- Added some sql tabke keys id,ordering
- small optimisations of sql for using keys better
- added additional keys for table

Program internal:
- config helper and regarding config model for WP
- renamed stockhandle_discontinued_products to stockhandle_products
- renamed product_remaining_stock to product_discontinued
- replaced VmConfig::setErrorReporting by VmConfig::setErrRepDefault
- Added common function "useSSL", which considers the option in vm and joomla
- exchanged "round" against "roundInternal" in calculation helper http://forum.virtuemart.net/index.php?topic=135622.msg473786#msg473786
- new function getCurrentUrlBy, which creates a link by Request (get,post) by a whitelist of variablenames correct redirect urls for login, etc loading of product images for ajax cart data with parameter now
- model category function getCategory, added check so that an empty category does not try to load medias
- moved function getRecentProductIds from shopfunctionsF.php to the product model 
- Added new Function vmConfig::getMemoryLimitBytes, which returns the set memory_limit with Bytes
- Found the error "scalar", happened when a boolean is cast to object r9374
- VirtuemartModelConfig function getLayouts, added param to disable the empty option
- replaced more json_encode against vmJsApi::safe_json_encode
- Each language uses now its own JLanguage object, makes it a lot easier to render different languages 
- Replaced VmConfig::loadJLang against vmLanguage::loadJLang('com_virtuemart');
- htmlentities does not use ini_get("default_charset") anylonger, is set to UTF-8
- new function in vmtable checkTableExists
- vmpsplugin uses now checkTableExists
- email function renderMail got seperated in different functions and cleand up
- removed nasty bug for 3rd party developes which prevented the update of order items using the function updateStatusForOneOrder (r9400)
- vmTrace can now log and render the message (before log or render)
- function getTCPDFFontsList, replaced function glob against RecursiveDirectoryIterator
- added new field vmlisttable, handy to display  item lists of models (maintable)
- added vRequest::setVar('doVendor', $this->doVendor); to function renderMailLayout of the invoice, used by sublayouts in the mail
- enhanced function getPluginMethods in vmpsplugin.php
- Added new getCache function, replaced all JFactory::getCache against VmConfig::getCache
- parameters of customfields not set in the product edit do not set a default value anylonger, so the value of the customprototype is used
- userfields are now escaped with htmlspecialchar and not htmlentities anylonger
- Added missing state="0" for sqls using the joomla extension table. This is important, when someone uninstalled and reinstalled a plugin.
- function declarePluginParams is only checking by name, not extension_id anylonger and removed the & in the foreach for better compatibility
- updated vmUserfieldPlugin so that its params work similar as the other vmtable params. Is now also php7 compatible.
- changed function renderCustomfieldsCart so, that it can display extra data by product and user input data
- Added vmdebug as echo to add to cart popup
- added clone $product for the triggers plgVmOnProductDisplayShipment and plgVmOnProductDisplayPayment to prevent that the trigger changes accidently the selected variant of the product


Javascript:
- Added ajax to browse view for multi variants and generic child variants
- enhanced ajax for reloading children. The view productdetails must have now the class product-container to work properly with ajax
- replaced "all" jQuery calls against $, if within jQuery environment to prevent problems with safari
- changed reserver time of "keepAlive" script. The delivery time of the page must be considered.
- javascript added boolean setBrowserState to prevent optionally the setting of browser state by ajax
- removed avfind.js is now added to cvfind.js
- cvfind js, additionally checks to prevent endless "while loops"
- switch for loading JHtml::_('behavior.formvalidation'); in vmsjapi and replaced in any files by vmValidator
- moved js script of mediahandler in own file
- gathered all media edit scripts to one script "mediahandler.js"
- gathered product scripts to product.js
- removed a lot scripts (for products and media) from the vm2admin.js, added "sortable" and "hide price"
- js for add to cart does not check anylonger for the dom type, so it can be used with spans also
- vmprices.js setproducttype checks now for the classes product-container, productdetails, vm-product-details-container
- Added product img thumb for Ajax Cart
- enhanced language switcher js and new lib for the admin menu
- BE view orders list und order edit js enhanced

Typos:
- typo in config.php created empty language db suffix
- typo in order model $orderDetails['details'] must be $order['details']

Layouts:
- removed asynchron loading of MV script, created random errors on some browsers
- facebox, disabled asynchron and defer loading
- added missing class for ajax to the product module layout "single"
- Fixed HTML validation issue of cartpos[] input, moved in td. tr elements can accept only td and th elements as childs.
- Fixed invalid br tag. (r9300)
- view/category/tmpl/default.php changed if($this->showproducts) against if (!empty($this->products)) the option is considered while loading the products and dont need to be checked there
- adjusted product_horizon to work with variant ajax reload
- wrote fallback for ajax for old layouts
- changed the 0 product group (normal products in the browse view) to "products"
- update by Stefan Schumacher for the 3 price lists (cart, invoice, orders) removed old tags against inline style (yeh, class comes later)
- changed a bit css so that add to cart button can be shown as span

Payments/Shipments:
- Fix for paybox IP problem http://forum.virtuemart.net/index.php?topic=135600.0
- little fix for paypal express, removed the possibility to select it as option to prevent errors with ajax
- fixed selection of paypal (removing of paypal express from the select list, removed it completly) r9384
- paypal has now optional conditional shipments
- small fix in Amazon Pay orderreferencenotification.php
- Amazon Pay removed VMPAYMENT_AMAZON_PAYMENT_NOT_AVAILABLE message, when the method cannot be selected
- Heidelpay adjustments for php 7 and some minors
- little fix for authorize.net
- Standard shipment plugin: Fixed a small issue, that deactivation of "show on productdetail" was not correctly loaded in the settings
- small fix in weight_countries.php, which prevented a checkout when there was no method for weight_countries.php configured and another shipment plugin used
- check in weight_countries.php, which prevents that the wrong shipment is autoselected (r9418)
- Avatax added check for soap

Security:
- rewritten getMyOrderDetails, works now whitelisted
- security enhancement for model userfields by Stan Scholtz (Rupostel)
- userfields security enhancement by Rupostel double encoded html entities, param changed
- added hashing of vmver (js and css)
- Added extra check for isFEmanager if user is actually logged in.

Should I fix your bug, please support the VirtueMart project and become a member
______________________________________
Extensions approved by the core team: http://extensions.virtuemart.net/

lindapowers

We are using 3.0.19.9 in our live site already so I guess that is enough to understand how stable the latest package is already, not a single issue found so looking forward for the release.

Jörgen

Hello

VM 3.0.19.9, Joomla 3.6.5

When editing orders in backend the following line is wrong:
Call to undefined method JFactory::getFactory() in file: /home/kreativf/public_html/cms/administrator/components/com_virtuemart/models/orders.php line: 517

if(!$taxCalcValue){
//Could be a new item, missing the tax rules, we try to get one of another product.
//get tax calc_value of product VatTax
$db = JFactory::getFactory();


Replace with:

if(!$taxCalcValue){
//Could be a new item, missing the tax rules, we try to get one of another product.
//get tax calc_value of product VatTax
$db = JFactory::dB0();


regards

Jörgen @ Kreativ Fotografi
Joomla 3.9.18
Virtuemart 3.4.x
Olympiantheme Hera (customized)
This reflects current status when viewing old post.

Milbo

Should I fix your bug, please support the VirtueMart project and become a member
______________________________________
Extensions approved by the core team: http://extensions.virtuemart.net/

aftertaf

#14
done a quick update of the backup site I have, running 3.0.19.x to 3.2.0 -> smooth as butter on the upgrade.
And man, it is a LOT faster to load category views, product & product detail views for the end user.
I'll be sure to do testing of all I can think of and report anything back, but Nice Work !

If anyone wants to check out the difference, and see if i'm imagining it...
http://www.socouture.fr is 3.0.18 production
http://w3.socouture.fr is 3.2.0 test backup.

Basic tests done mostly with POSforWebshops so far, looks fine. (this is my mission-critical part i need to be concrete about first)

one thing, looks like i lost the manufacturer categories (i only had 3, no biggie...)