New stable Release Candidate 3.0.13 released, please anyone test.

Started by Milbo, February 09, 2016, 23:44:53 PM

Previous topic - Next topic

franayala

Ok.

I understand but why does this work in every other component in joomla except in virtuemart?

If i disable the override all is working but i don't understand why this is a problem for you and not for other developers.

In fact, for me it is the same thing to have at top or bottom the controls and buttons, but working. If the problem is to have at top the buttons and for this reason this features is not working... this thing is the really silly thing.

Thanks
www.cuidadicos.es - Natural suplements and beauty

noras

@Milbo - I have a solution for you :)
For administrator\components\com_virtuemart\views\product\tmpl\default.php line 228 to 230:
<td colspan="16">
<?php echo $this->pagination->getListFooter(); ?>
</td>

Change to:

<td colspan="16">
            <?php echo $this->pagination->getLimitBox(); ?>
<?php echo $this->pagination->getListFooter(); ?>
</td>


It does not look pretty but it works - you need to add some HTML and CSS and can be beautiful.



EDIT:
You can even give a condition, because this code works unless only for J3.

And of course the administrator\components\com_virtuemart\views\category\tmpl\default.php also need to make changes.

bettinz

Hello, in /components/com_virtuemart/views/cart/tmpl
line 23 and 24
echo '<a class="continue_link" href="' . $this->continue_link . '" >' . vmText::_('COM_VIRTUEMART_CONTINUE_SHOPPING') . '</a>';
echo '<a class="showcart floatright" href="' . $this->cart_link . '">' . vmText::_('COM_VIRTUEMART_CART_SHOW') . '</a>';

doesn't return a SEF url but the index.php?option=com_virtuemart&view=cart

It's a minor bug, but is what I've found so far ;)

noras

The improvement is still in the file administrator\components\com_virtuemart\views\product\tmpl\product_edit_information.php line ~43-45:
<td>
<input class="required inputbox" type="text" name="product_name" id="product_name" value="<?php echo $this->product->product_name?>" size="32" maxlength="255" />
</td>

Change to:
<td>
<input class="required inputbox" type="text" name="product_name" id="product_name" value="<?php echo htmlspecialchars($this->product->product_name); ?>" size="32" maxlength="255" />
</td>

Solve the problem of character display: ". ', [,]{,},<,>
The problem concerns the input element when the title product is the sign of an inch(char: "), is the re-editing does not display the title of the product.

The same file lines ~53-55:
<td height="18">
<input type="text" class="inputbox"  name="slug" id="slug" value="<?php echo $this->product->slug?>" size="32" maxlength="255" />
</td>

Change to:
<td height="18">
<input type="text" class="inputbox"  name="slug" id="slug" value="<?php echo htmlspecialchars($this->product->slug); ?>" size="32" maxlength="255" />
</td>

Ghost

Quote from: Milbo on February 10, 2016, 10:26:59 AM
Quote from: sandomatyas on February 10, 2016, 07:39:45 AM
If I filter the products on the BE and do something with a product (publish, delete, etc) the filter is empty again: http://screencast.com/t/Ve00bRnilItP
Interesting question if we want to keep the filter, after execution of a task.
Absolutely. It is extremely important for UX. All Joomla core components do it for this reason.

Ghost

I don't know if it's a bug or a "feature" but disabling seo_full causes the same category appear twice on category URLs, e.g.:

example.com/shop/wear/wear
example.com/shop/mister/wear/mister

Milbo

Quote from: bettinz on February 11, 2016, 09:14:27 AM
Hello, in /components/com_virtuemart/views/cart/tmpl
line 23 and 24
echo '<a class="continue_link" href="' . $this->continue_link . '" >' . vmText::_('COM_VIRTUEMART_CONTINUE_SHOPPING') . '</a>';
echo '<a class="showcart floatright" href="' . $this->cart_link . '">' . vmText::_('COM_VIRTUEMART_CART_SHOW') . '</a>';

doesn't return a SEF url but the index.php?option=com_virtuemart&view=cart

It's a minor bug, but is what I've found so far ;)
This is not a bug, that is intended! http://forum.virtuemart.net/index.php?topic=131871.msg457005#msg457005

Quote from: noras on February 11, 2016, 08:56:49 AM
@Milbo - I have a solution for you :)
I know that, I did this already. The problem is that the exception must be written for Isis template, not j3. It makes sense to have the listing on top and it would be solved already, when it would be written for j3, but it is written for ISIS, so if you switch to hathor, the problem maybe already solved. I know there are templaters who wrote great Backend templaters and they would be broken. Nasty thing.

The other thing with the encoding is not so simple, I know that it looks right then, but can create other problems, when you store a product with minor rights.

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

noras

@Milbo, You have to remember that the default template J3 is Isis, so 99% of the population uses it. You should not be responsible for other templates, if the other components of the change in the number of records on the back running in a VM should be done under the template Isis. It is important for vendors to not have to enter every moment configuration.


claesbas

We used a server with PHP7 and Joomla 3.5. BETA2 and had problems in backend (no dropdowns in configurations). Here is a fix:

administrator/components/com_virtuemart/helpers/html.php

Line no 383 and 384

$key = $options['option.key'] === null ? $elementKey : $element->$options['option.key'];
$text = $element->$options['option.text'];


This two lines changed to

$key = $options['option.key'] === null ? $elementKey : $element->{$options['option.key']};
$text = $element->{$options['option.text']};



These missing { } is on many places so it would be good to go through the code for that and fix them all. This was just to get the dropdowns working in Configuration of Virtuemart.
VMuikit - A Virtuemart theme for Yootheme template
https://joomlapro.com/vmuikit

VMonepage - One Page Checkout (Was free - now is €20)
https://joomlapro.com/product/virtuemart-one-page-checkout

VMKCO - Klarna Checkout Enhanced
https://joomlapro.com/product/virtuemart-klarna-checkout

Milbo

Quote from: noras on February 11, 2016, 13:59:37 PM
@Milbo, You have to remember that the default template J3 is Isis, so 99% of the population uses it. You should not be responsible for other templates,
The problem is that it is done as override of the pagination box, which just removes the listing. But on the other hand it wont hurt, when j2.5 people get the new layout. I see, when I have time todo it, or someone else does it, actually a simple, but boring job.

Btw, new direct link, with fixes due the hint of claesbas and some more, language for invoices, js for product modules. and so on.
http://dev.virtuemart.net/attachments/download/989/com_virtuemart.3.0.13.2_extract_first.zip
Should I fix your bug, please support the VirtueMart project and become a member
______________________________________
Extensions approved by the core team: http://extensions.virtuemart.net/

claesbas

Ok on our testing site running on a Nginx server with PHP7 and Joomla 3.5 BETA 2 we have some problems:

We get error in VirtueMart  when we try to go to category and product detail. VM Frontpage works.

After removed some lines from below file, both page works well.

File Name     : libraries/joomla/document/renderer/html/head.php
Error details : Argument 1 passed to Joomla\Utilities\ArrayHelper::toString() must be of the type array, string given, called in /var/www/clients/client1/web35/web/libraries/joomla/document/renderer/html/head.php on line 119


Line no 115 to 120

// Generate link declarations
foreach ($document->_links as $link => $linkAtrr)
{
$buffer .= $tab . '<link href="' . $link . '" ' . $linkAtrr['relType'] . '="' . $linkAtrr['relation'] . '"';

if ($temp = ArrayHelper::toString($linkAtrr['attribs']))
{
$buffer .= ' ' . $temp;
}

$buffer .= ' />' . $lnEnd;
}


What can this be. I posted it to GitHub Joomla too. Is this a Virtuemart issue or is this a Joomla problem?
VMuikit - A Virtuemart theme for Yootheme template
https://joomlapro.com/vmuikit

VMonepage - One Page Checkout (Was free - now is €20)
https://joomlapro.com/product/virtuemart-one-page-checkout

VMKCO - Klarna Checkout Enhanced
https://joomlapro.com/product/virtuemart-klarna-checkout

claesbas

Quote from: claesbas on February 12, 2016, 09:13:33 AM
Ok on our testing site running on a Nginx server with PHP7 and Joomla 3.5 BETA 2 we have some problems:

We get error in VirtueMart  when we try to go to category and product detail. VM Frontpage works.

After removed some lines from below file, both page works well.

File Name     : libraries/joomla/document/renderer/html/head.php
Error details : Argument 1 passed to Joomla\Utilities\ArrayHelper::toString() must be of the type array, string given, called in /var/www/clients/client1/web35/web/libraries/joomla/document/renderer/html/head.php on line 119


Line no 115 to 120

// Generate link declarations
foreach ($document->_links as $link => $linkAtrr)
{
$buffer .= $tab . '<link href="' . $link . '" ' . $linkAtrr['relType'] . '="' . $linkAtrr['relation'] . '"';

if ($temp = ArrayHelper::toString($linkAtrr['attribs']))
{
$buffer .= ' ' . $temp;
}

$buffer .= ' />' . $lnEnd;
}


What can this be. I posted it to GitHub Joomla too. Is this a Virtuemart issue or is this a Joomla problem?

This is fixed in latest version on GitHub (date 2016-02-12) - Download libraries/joomla/document/renderer/html/head.php from Joomla github for your Joomla 3.5 BETA to get it to work.

https://github.com/joomla/joomla-cms/blob/staging/libraries/joomla/document/renderer/html/head.php
VMuikit - A Virtuemart theme for Yootheme template
https://joomlapro.com/vmuikit

VMonepage - One Page Checkout (Was free - now is €20)
https://joomlapro.com/product/virtuemart-one-page-checkout

VMKCO - Klarna Checkout Enhanced
https://joomlapro.com/product/virtuemart-klarna-checkout

noras

@Milbo - I found a small bug with languages. GIF below illustrates the problem.
The problem appeared in version VM3.0.13.2.


Ghost

Duplicate category URL issue is caused in getCategoryNames function here:

if($this->full) {
$parent_ids = array_reverse($parent_ids) ;
} else if(isset($parent_ids[0])){
$t = $parent_ids[0];
$parent_ids[] = $t;
}


Leaving only $parent_ids = array_reverse($parent_ids) ; line fixes the URLs. So far hasn't broken anything for me.

I know you've been asked a lot about removing SEO suffix and there is a fix which seems to work well http://blog.codepyro.com/2014/02/virtuemart-2-how-to-remove-seo-suffix.html. Maybe need extra testing but so far it works good on my test site.

Attached the router.php in case anyone wants to try it out.

Milbo

From my point of view, you just disabled the "full category branch in URL" option. Can you tell me where I can find the duplicates in the sampledata? Using the fullinstaller?

The problem with the suffix is, that you must know that you must not have the same product and category name.

And as the guy says himself: "updated 3.14.14 - I didn't realize that the site I had made these adjustments to all of the categories were set as menu items which of course makes a big difference. Anyway the zip file has been updated with the latest router."
Should I fix your bug, please support the VirtueMart project and become a member
______________________________________
Extensions approved by the core team: http://extensions.virtuemart.net/