//MenuCardTable.class
public function getMenuCardForCombo(){
$q = Doctrine_Query::create()
->select('m.*')
->from('MenuCard m');
$results = $q->execute();
foreach($results as $menu){
$choice[$menu->getId()] = $menu->getName();
}
return $choice;
}
====================no funciona para validar "required"=========================================
//DishesForm.class
$choices =
array('Seleccione un item') + Doctrine::
getTable('MenuCard')->
getMenuCardForCombo();
$this->
widgetSchema['menu_card_id'] =
new sfWidgetFormSelect
(array('choices' =>
$choices));
$this->
validatorSchema['menu_card_id'] =
new sfValidatorChoice
(array('choices' =>
array_keys($choices)));
====================otro metodo: validar "required"=========================================
//el item x defecto sera en blanco (poner 'add_empty true')
//BasesDishesForm.class
'menu_card_id' =>
new sfWidgetFormDoctrineChoice
(array('model' =>
'MenuCard',
'add_empty' =>
true)),
//DishesForm.class
$this->validatorSchema['menu_card_id']->setOption('required', true);
Paste this in your website: <script type="text/javascript" src="http://www.posteet.com/embed/1897"></script>
Doctrine
$eventName = Doctrine::getTable('Events')->find($id)->getName();
Propel
$event = EventsPeer::RetriveByPk($id);
$eventName = $event->getName();
Paste this in your website: <script type="text/javascript" src="http://www.posteet.com/embed/1896"></script>
# Se incluye el directorio data de symfony para ejecutar sin necesidad de tenerlo instalado.
#(se sincluye a symfony dentro del proyecto)
$ symfony project:freeze "C:\symfony\sf1.1.x\data"
#confirmar hacia donde apunta la ruta
$ symfony -V
symfony version 1.1.7 (C:\Apache\htdocs\inkaterra\lib\symfony)
Paste this in your website: <script type="text/javascript" src="http://www.posteet.com/embed/1854"></script>
/* lib/model/Industria.php
- en el formulario de clientes hay un combo industrias (relacion bd)
- descripcion se mostrara en el combo
*/
class Industria extends BaseIndustria {
public function __toString(){
return $this->getDescripcion();
}
}
Paste this in your website: <script type="text/javascript" src="http://www.posteet.com/embed/1842"></script>
//desde la plantilla
$sf_user->getUserId(); $sf_user->getUserName();
//desde la accion de symfony
$userId=sfContext::getInstance()->getUser()->getGuardUser()->getId();
ó
$usr = $this->getUser(); //hallar el id si esta auntenticado
if($usr->isAuthenticated()){
$userId = $usr->getGuardUser()->getId();
}
Paste this in your website: <script type="text/javascript" src="http://www.posteet.com/embed/1809"></script>
validadores usados al crear usuarios
//valida que 2 campos sean iguales
$this->
validatorSchema->
setPostValidator(new sfValidatorSchemaCompare
('password', sfValidatorSchemaCompare::
EQUAL,
'repassword',
array(),
array('invalid'=>
'Los dos paswords deben ser iguales.')));
//valida que los campos username y email sean unicos en la base de datos (al crear y editar un usuario)
$this->validatorSchema->setPostValidator(
new sfValidatorAnd
(array(
new sfValidatorPropelUnique
(array('model' =>
'sfGuardUser',
'column' =>
array('username')),
array('invalid'=>
'el nombre de usuario ya esta registrado, ingrese otro por favor.')),
new sfValidatorPropelUnique
(array('model' =>
'sfGuardUser',
'column' =>
array('email')),
array('invalid'=>
'El email no es valido, intente con otro por favor.')))));
Paste this in your website: <script type="text/javascript" src="http://www.posteet.com/embed/1808"></script>
#saltos de linea desde la plantilla de symfony
Paste this in your website: <script type="text/javascript" src="http://www.posteet.com/embed/1797"></script>
pasos para crear una aplicación symfony
#crear el proyecto
symfony generate:project my_project
#crear mis apps backend y/o frontend
symfony generate:app backend|frontend
#crear mis modulos dentro de backend o frontend
symfony generate:module frontend gallery
#crear cruds dentro de backend
# autor: nombre del módulo que se va a crear
# Autor: nombre de la clase del modelo en la que se basa el módulo
symfony propel:generate-crud frontend autor Autor
#otros
symfony propel:build-model
symfony propel:build-forms
Paste this in your website: <script type="text/javascript" src="http://www.posteet.com/embed/1779"></script>
$ecFront = sfYaml::load(sfConfig::get('sf_config_dir').'/extraconfig/frontend.yml');
$ecFront = $ecProperty['root'];
Paste this in your website: <script type="text/javascript" src="http://www.posteet.com/embed/1778"></script>
//importar el helper
<?php use_helper('Text');?>
<?php //truncar texto a 32 caracteres.?>
<?php echo truncate_text
('$cadena',
32,
'...') ;?><br />
Paste this in your website: <script type="text/javascript" src="http://www.posteet.com/embed/1774"></script>