Git Product home page Git Product logo

Comments (6)

wisskid avatar wisskid commented on July 19, 2024 1

That is not was unescape is for.

Template designers can choose to selectively disable this feature by adding the nofilter flag: {$variable nofilter}.

from smarty.

ampmonteiro avatar ampmonteiro commented on July 19, 2024

image

   {* works No apply escaping *}
    {form_open('news/delete',[],['news_id' => {$news['id']}]) nofilter}
        <button>Delete</button>
    {form_close()  nofilter}

and

  {* Smarty *}
  <p>Hello {$name}, welcome to Smarty!</p>
  
  {foreach $list as $item}
      <p>{$item}</p>
  {/foreach}
  
{* no escape*}
{test()  nofilter} 

thanks, it works.

However the word unescape is misleading because it not related to escape. The correct naming should be decode
as mention:

unescape is used to decode entity, html and htmlall. It counters the effects of the escape modifier for the given types.

Or as said it should counters the effects of the [escape modifier], which means revert the escaping, which it does not.

And nofilter key word should be a modifier as well, like raw ( which is what twig has) or using $smarty.nofilter to be more clear.

Thanks.
I will close the issue tomorrow or Monday

from smarty.

ampmonteiro avatar ampmonteiro commented on July 19, 2024

And another thing that maybe i will create a issue:

this is not possible with smarty:

{form_open('news/delete',  hidden:['news_id' => {$news['id']}]) nofilter}
        <button>Delete</button>
{form_close() nofilter}

i am using php 8.0 feature called Named Arguments, in this case hidden name parameter and give me this error:

image

from smarty.

wisskid avatar wisskid commented on July 19, 2024

Well, Smarty is not PHP. Although the syntax is clearly inspired by PHP, their syntaxes differ greatly. Thus, I would not consider this a bug, but it might be considered as a new feature.

from smarty.

ampmonteiro avatar ampmonteiro commented on July 19, 2024

@wisskid

ok, but in requirements said:

Requirements: Smarty can be run with PHP 7.1 to PHP 8.2.

however it is not fully compatible with few new features like Named Arguments which should be mention in the docs.

I still didn't try this with twig but tried with Nette/Latte template which works perfectly fine:

    {form_open(
        'news/delete',
        hidden: ['news_id' => esc($news['id'])]
    )|noescape}

you can see my full code here

from smarty.

wisskid avatar wisskid commented on July 19, 2024

Smarty is not PHP. The fact that Smarty can be run with PHP 7.1 to PHP 8.2 does not mean that the Syntax of Smarty is equal to the syntax of PHP. It is not, in many respects. There are some PHP language constructs that also work in Smarty and vice versa, but the similarities are in fact very limited.

from smarty.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.