Hi All,
I have code below but showing me error:  Exception: Macro 'is_a' does not exist
Which part am i doing wrong or missing?
Controller
/**
 * Edits a user based on its id
 */
public function editAction($id)
{
    $collection = $this->collection;
    if (!$this->request->isPost()) {
        $criteria = array('_id' => new MongoId($id));           
        $users = $this->getCollection($collection, $criteria);
        if (!$users) {
            $this->flash->error("User was not found");
            return $this->forward("users/index");
        }            
        $users = (object) $users[0];
        $this->view->form = new RegisterForm($users, array('edit' => true));
    }
}  Form <?php
use Phalcon\Forms\Form; use Phalcon\Forms\Element\Text; use Phalcon\Forms\Element\Password; use Phalcon\Validation\Validator\PresenceOf; use Phalcon\Validation\Validator\Email; use Phalcon\Forms\Element\Hidden;
class RegisterForm extends Form {
public function initialize($entity = null, $options = null)
{                        
    if (!isset($options['edit'])) {
        $element = new Text("id");
        $this->add($element->setLabel("Id"));            
    } else {
        $this->add(new Hidden("id"));            
    }
    // Name
    $name = new Text('name');
    $name->setLabel('Your Full Name');
    $name->setFilters(array('striptags', 'string'));
    $name->addValidators(array(
        new PresenceOf(array(
            'message' => 'Name is required'
        ))
    ));
    $this->add($name);
    // Name
    $name = new Text('username');
    $name->setLabel('Username');
    $name->setFilters(array('alpha'));
    $name->addValidators(array(
        new PresenceOf(array(
            'message' => 'Please enter your desired user name'
        ))
    ));
    $this->add($name);
    // Email
    $email = new Text('email');
    $email->setLabel('E-Mail');
    $email->setFilters('email');
    $email->addValidators(array(
        new PresenceOf(array(
            'message' => 'E-mail is required'
        )),
        new Email(array(
            'message' => 'E-mail is not valid'
        ))
    ));
    $this->add($email);
    // Password
    $password = new Password('password');
    $password->setLabel('Password');
    $password->addValidators(array(
        new PresenceOf(array(
            'message' => 'Password is required'
        ))
    ));
    $this->add($password);
    // Confirm Password
    $repeatPassword = new Password('repeatPassword');
    $repeatPassword->setLabel('Repeat Password');
    $repeatPassword->addValidators(array(
        new PresenceOf(array(
            'message' => 'Confirmation password is required'
        ))
    ));
    $this->add($repeatPassword);
}}
View
{{ form("products/save", 'role': 'form') }}
<ul class="pager">
    <li class="previous pull-left">
        {{ link_to("products", "← Go Back") }}
    </li>
    <li class="pull-right">
        {{ submit_button("Save", "class": "btn btn-success") }}
    </li>
</ul>
{{ content() }}
<h2>Edit user</h2>
<pre>
<fieldset>
    {% for element in form %}        
        {% if is_a(element, 'Phalcon\Forms\Element\Hidden') %}            
            {{ element }}
        {% else %}
            <div class="form-group">
                {{ element.label() }}
                {{ element.render(['class': 'form-control']) }}
            </div>
        {% endif %}
    {% endfor %}
</fieldset></form>