< isif > is appropriate forconditional presentation logicinside an ISML template. Showing or hiding a page fragment according to information already provided to the view—such as whether the current shopper is authenticated—is exactly the kind of lightweight rendering decision for which < isif > is intended.
Salesforce explicitly states that < isif > , < iselseif > , and < iselse > provide conditional template constructs but should containno business logic, only conditional visualization of data. SFRA customization guidance reinforces this architectural separation by stating that business logic generally does not belong inapp_storefront_basetemplates; templates should concentrate on rendering.
Option B therefore violates SFRA separation-of-concerns practices because involved business logic belongs in controllers, models, helpers, or services. Option C is also unsuitable because routing and redirects are HTTP response-control operations that should be performed by the controller rather than an ISML presentation template.
Study Guide reference:Application Development — ISML conditional rendering, < isif > , template responsibilities, controllers, and separation of business logic from presentation.
===============