Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update qty-input.tpl #680

Open
wants to merge 1 commit into
base: develop
Choose a base branch
from
Open

Conversation

panariga
Copy link

@panariga panariga commented Mar 2, 2025

fix: Ensure provided input attributes take precedence over defaults

This commit modifies the Smarty template to prevent default input attributes (e.g., class, name, value) from duplicating attributes that are already defined in the $attributes array.

Previously, default attributes were appended after the loop that applied provided attributes, resulting in double values which is break HTML standart.

Now, conditional checks are used to only apply default attributes when the corresponding attribute is not already set in the $attributes array.

Questions Answers
Description? Please be specific when describing this change. What did you change? Why?
Type? bug fix / improvement / new feature / refactor
BC breaks? yes / no
Deprecations? yes / no
Fixed ticket? Fixes #{issue URL here}, Fixes #{another issue URL here}
Sponsor company Your company or customer's name goes here (if applicable).
How to test? Indicate how to verify that this change works as expected.

fix: Ensure provided input attributes take precedence over defaults

This commit modifies the Smarty template to prevent default input attributes
(e.g., class, name, value) from duplicating attributes that are already
defined in the $attributes array.

Previously, default attributes were appended after the loop that applied
provided attributes, resulting in double values which is break HTML standart.

Now, conditional checks are used to only apply default attributes when
the corresponding attribute is not already set in the $attributes array.
@ps-jarvis
Copy link

Hello @panariga!

This is your first pull request on hummingbird repository of the PrestaShop project.

Thank you, and welcome to this Open Source community!

Comment on lines +28 to +40
<input
{foreach $attributes as $key=>$value}
{$key}="{$value}"
{$key}="{$value}"
{/foreach}
{* The default attributes, will be used if not defined *}
class="form-control"
name="qty"
aria-label="{l s='Quantity' d='Shop.Theme.Actions'}"
type="text"
inputmode="numeric"
pattern="[0-9]*"
value="1"
min="1"
{* End of default attributes *}
/>
{if !isset($attributes.class)}class="form-control"{/if}
{if !isset($attributes.name)}name="qty"{/if}
{if !isset($attributes['aria-label'])}aria-label="{l s='Quantity' d='Shop.Theme.Actions'}"{/if}
{if !isset($attributes.type)}type="text"{/if}
{if !isset($attributes.inputmode)}inputmode="numeric"{/if}
{if !isset($attributes.pattern)}pattern="[0-9]*"{/if}
{if !isset($attributes.value)}value="1"{/if}
{if !isset($attributes.min)}min="1"{/if}
/>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hello, looks good 👍 but there is a small indent issue.
<input> is not align with <button> and {$key} has an extra indent.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Waiting for author
Development

Successfully merging this pull request may close these issues.

3 participants