Please tell me where I made a mistake in the code? The engine refuses to perceive it (Opencart).

<?php if ($route=='' || $route=='common/home' ) { ?> <div class="newsletter"> <?php } else { ?> </div> </div> <div class="newsletter newsletter-catalog"> <?php } ?> <?php else if ($route=='category/product' ) { ?> <div class="newsletter newsletter-catalog1"> <?php } ?> 

  • Generally turn on the error output, or looked into the log - Naumov

2 answers 2

The else block must be the last.

    If you disassemble your design, it turns out the thing of this type:

     if ($route=='' || $route=='common/home' ) { <div class="newsletter"> } else { </div> </div> <div class="newsletter newsletter-catalog"> } else if ($route=='category/product' ) { <div class="newsletter newsletter-catalog1"> } 

    In turn, if you refer to the PHP: else if documentation, it immediately becomes clear that your structure is not built correctly, and it should be like this:

     if -> else if -> else 

    Therefore, you need to slightly change the code and bring it to this form:

      <?php if ($route=='' || $route=='common/home' ) { ?> <div class="newsletter"> <?php } else if ($route=='category/product' ) { ?> <div class="newsletter newsletter-catalog1"> <?php } else { ?> </div> </div> <div class="newsletter newsletter-catalog"> <?php } ?>