Ответы пользователя по тегу Yii
  • Yii 2 авторизация пользователей из базы?

    des1roer
    @des1roer Автор вопроса
    ученье - свет, а неученье - приятный полумрак
    Комментировать
  • Php mailer ошибка?

    des1roer
    @des1roer Автор вопроса
    ученье - свет, а неученье - приятный полумрак
    с таким конфигом заработало
    'Smtpmail'=>array(
                'class'=>'application.extensions.smtpmail.PHPMailer',
                'Host'=>'mail.mycompany.ru',
                'Username'=>'',
                'Password'=>'',
                'Mailer'=>'smtp',
                'Port'=>25,           
                'SMTPDebug' => 1,
            ),

    по факту видать в имени хоста напутал
    Ответ написан
    Комментировать
  • Yii 2 checkboxList в колонку?

    des1roer
    @des1roer Автор вопроса
    ученье - свет, а неученье - приятный полумрак
    видать действительно кэш забился.
    сегодня после рефреша все ок
    ty6Zf8K.png
    Ответ написан
  • Как в yii сделать календарь с выбором месяца и года?

    des1roer
    @des1roer Автор вопроса
    ученье - свет, а неученье - приятный полумрак
    Комментировать
  • Yii не применяется css?

    des1roer
    @des1roer Автор вопроса
    ученье - свет, а неученье - приятный полумрак
    проблема была в разных layout
    по ошибке DOCTYPE не тот прописал....
    Ответ написан
    Комментировать
  • Yii график справа от cgridview?

    des1roer
    @des1roer Автор вопроса
    ученье - свет, а неученье - приятный полумрак
    Надо обернуть грид в див. Грид сам растянется по ширине дива. Например так

    <style>
    .columns { overflow: hidden; clear: both; width: 100%; }
    .columns .left, .columns .right { float: left; }
    .columns .left { width: 80%; }
    .columns .right { width: 20%; }
    </style>
    
    <div class="container">
      <div class="left"><?php $this->widget('CGridView'/* тут вызываем грид */); ?></div>
      <div class="right"><!-- тут вызываем график --></div>
    </div>
    Ответ написан
    Комментировать
  • Yii ajax CJuiDatePicker и dropDownList?

    des1roer
    @des1roer Автор вопроса
    ученье - свет, а неученье - приятный полумрак
    dropDownList

    c dropDownList вроде разобрался

    вью

    echo CHtml::dropDownList('listname',$mysmen, 
                  array('1' => '1 смена', '2' => '2 смена','3' => '3 смена'),
            array(
    'ajax' => array(
    'type'=>'POST', //request type
    'url'=>CController::createUrl('quality/smen'), //url to call.
    //Style: CController::createUrl('currentController/methodToCall')
    'update'=>'#content', //selector to update
    'data' => array
                (
                'smen' => 'js:this.value',
        )
    //leave out the data key to pass all form values through
    )));


    контролер
    public function actionSmen()
    {
        $smen = Yii::app()->request->getParam('smen');
        $model=new Quality('search');
        $model->unsetAttributes();  // clear any default values
        if(isset($_GET['Quality']))
          $model->attributes=$_GET['Quality'];                    
        $this->renderPartial('admin',array(
          'model'=>$model,
              ));
    }

    проверяем пост

    (isset($_POST['smen'])) ? $mysmen =$_POST['smen']: $mysmen = today_smen($todaysmen);


    CJuiDatePicker

    $this->widget('zii.widgets.jui.CJuiDatePicker', array(
        'name' => 'from_date',
        'value' => $date,
        'language' => 'ru',
        'options' => array(
            'showAnim' => 'fold',
            'dateFormat' => 'yy-mm-dd',
            //'onSelect' => 'js: function(dateText, inst) {window.location.search = "date=" + this.value; return false;}',
            'onSelect' => 'js: function(dateText, inst) {' .
            CHtml::ajax(array('type' => 'POST', 'datatype' => 'html', 'url' => array('Reports_ajax'),
                'data' => array('date' => 'js: dateText'),
                'success' => 'function(html){ $("#content").html(html);
                                                        return false; }'
                    )
            ) .
            '}',
        ),
    ));


    тогда контроллер

    public function actionSmen()
    {
        $smen = Yii::app()->request->getParam('smen');
        $smen = Yii::app()->request->getParam('date');
        $model=new Quality('search');
            $model->unsetAttributes();  // clear any default values
            if(isset($_GET['Quality']))
                $model->attributes=$_GET['Quality'];                    
            $this->renderPartial('admin',array(
                'model'=>$model,
                        ));
    }


    и проверяем

    (isset($_POST['date']) && $_POST['date']) ? $date = $_POST['date'] : $date = date('Y-m-d');
    Ответ написан
    Комментировать
  • Как в Yii правильно организовать запрос с compare?

    des1roer
    @des1roer
    ученье - свет, а неученье - приятный полумрак
    $connection = Yii::app()->db;
        $sql = "
                   SELECT COUNT(*) FROM `t_product` `t` WHERE EXIST=:ycp0 AND CAT=:ycp1 
    AND
     (NAME LIKE :ycp2 OR NAME_EN LIKE :ycp3 OR NAME_EXCEL LIKE :ycp4 OR NAME_MENU LIKE :ycp5)
                                    ";
        $dataReader = $connection->createCommand($sql)->query();
        $rows = $dataReader->readAll();
    Ответ написан
    Комментировать
  • Yii несколько cgridview из модели?

    des1roer
    @des1roer Автор вопроса
    ученье - свет, а неученье - приятный полумрак
    можно же переопределить в модели функцию search() в public function mysearch($fact_id, $ware_id)
    а во вью
    for($i = 1, $cnt = count($rows); $i < $cnt; $i++) //формируем столбцы
    {
          $this->widget('bootstrap.widgets.TbExtendedGridView', array(
            'filter'=>'false',
            'type'=>'striped bordered',
           'dataProvider' => $model->mysearch($rows[$i]['fact_id'],$rows[$i]['ware_id']),
    Ответ написан
    Комментировать
  • Yii CJuiDatePicker сбрасывается после апдейта?

    des1roer
    @des1roer Автор вопроса
    ученье - свет, а неученье - приятный полумрак
    $content = $this->renderPartial('admin', array(
                'model' => $model,
            ), false, true);
    Ответ написан
    Комментировать
  • Yii CHtml::textField своя валидация?

    des1roer
    @des1roer Автор вопроса
    ученье - свет, а неученье - приятный полумрак
    Не очень изящно конечно.
    _form.php
    echo '<div class="column">';
                echo CHtml::label($rows[$i]['name'], $rows[$i]['name']);
                echo CHtml::textField("elem[$id][val][]", $val, array('id' => $rows[$i]['name']));
                echo '</div>';
                echo '<div class="column" style="display:none">';
                echo CHtml::textField("elem[$id][type][]", $type, array('id' => $rows[$i]['name']));
                echo '</div>';

    получим примерно следующий хтмл код
    <div class="column">
    <label for="Вагонов">Вагонов</label>
    <input id="Вагонов" type="text" name="elem[5][val][]" value="">
    </div>
    <div class="column" style="display:none">
    <input id="Вагонов" type="text" name="elem[5][type][]" value="int">
    </div>


    контроллер
    if (isset($_POST['elem']))
                        {
                            $command = Yii::app()->db->createCommand();
                            $max = Yii::app()->db->createCommand()
                                    ->select('max(id) as max')
                                    ->from('a_analiz_create')
                                    ->queryScalar();
    
                            $Ids = $_POST['elem'];
                             $cnt = max(array_keys($Ids));
                            $min = min(array_keys($Ids));
                            for($i = $min; $i <= $cnt; $i++)
                            {
                                $type = $Ids[$i]['type'][0];
                                $val = $Ids[$i]['val'][0];
                                if ($type == 'float')
                                {
                                    (real)$val = str_replace(',','.',$val);                                 
                                }
                                else if ($type == 'int')
                                {
                                    $val = (int)$val;                                 
                                }   
                                if (isset($val) && !empty($val))
                                    $command->insert('a_analiz_data', array(
                                        'analiz_id' => $max, 
                                        'value' => $val,
                                        'elem_id' => $i,
                                        'user_id' => Yii::app()->user->id,
                                    ));
                            }
                        };
    Ответ написан
    Комментировать
  • Yii кастомный checkboxlist?

    des1roer
    @des1roer Автор вопроса
    ученье - свет, а неученье - приятный полумрак
    дело решилось запросом посгрес действительно
    $sql = '
    WITH RECURSIVE temp1 ( id,id_parent,name,PATH, LEVEL, NAME ) AS (
    SELECT T1.id,T1.id_parent, T1.name, CAST (T1.id AS VARCHAR (50)) as PATH, 1 ,
    CAST (T1.name AS VARCHAR (255)) as NAME
    FROM vgok_site.t_department T1 WHERE T1.id_parent = 0
    union
    select T2.id, T2.id_parent, T2.name, CAST ( temp1.PATH ||\'->\'|| T2.id AS VARCHAR(50)) ,LEVEL + 1 ,
    CAST ((repeat(\' _ \', LEVEL+1)||T2.name) AS VARCHAR(255))
    FROM vgok_site.t_department T2 INNER JOIN temp1 ON( temp1.id= T2.id_parent))
    select * from temp1 ORDER BY PATH LIMIT 100 
    ';
    Ответ написан
    Комментировать
  • Yii съезжает кнопка?

    des1roer
    @des1roer Автор вопроса
    ученье - свет, а неученье - приятный полумрак
    нужно было убрать у селекта
    margin-bottom: 10px;
    Ответ написан
    Комментировать
  • Yii bootstrap модальные окна?

    des1roer
    @des1roer Автор вопроса
    ученье - свет, а неученье - приятный полумрак
    index
    array(
                'class' => 'bootstrap.widgets.TbButtonColumn',
                'template' => '{view}',
                'buttons' => array
                    (
                    'view' => array
                        (
                        //'url' => '$data->id."|".$data->parent_id',    
                        'url' => '$data->id',
                        'click' => 'function(){
                    		data=$(this).attr("href").split("|")
                    		$("#myModalHeader").html(data[0]);
    	        			$("#myModalBody").load("' . $this->createUrl('modalView') . '/"+data[0]+"");
                    		$("#myModal").modal();
                    		return false;
                    	}',
                    ),
                )
            ),
        ),
    ));
    ?>


    controler
    public function actionModalView($id)
        {
            $this->renderPartial('view', array(
                'model' => $this->loadModel($id),
            ));
        }
    Ответ написан
    Комментировать
  • Yii TbGridView\Cgridview ширина таблицы?

    des1roer
    @des1roer Автор вопроса
    ученье - свет, а неученье - приятный полумрак
    <?php $this->widget('bootstrap.widgets.TbGridView',array(
    	'id'=>'mining-grid',
    	'dataProvider'=>$model->search(),
    	'filter'=>$model,
    	'type' => 'striped hover', //bordered condensed
            'htmlOptions' => array('style' => 'width: 60%'),
    Ответ написан
    Комментировать
  • Yii renderPartial?

    des1roer
    @des1roer Автор вопроса
    ученье - свет, а неученье - приятный полумрак
    в общем все элементарно

    во вьюшке

    echo CHtml::ajaxLink(
    $text = 'Click me', 
    array('req'), 
    $ajaxOptions=array (
        'type'=>'POST',        
        'update'=>'#content',
        'data' => array( 'id' => '44'),
        ), 
    $htmlOptions=array (       
    )
    );


    в контролере

    public function actionReq() {
     $content = $this->renderPartial('application.views.site.pages.frameset');  
    }


    frameset.php

    $page = $_POST['id']; 
      $page = Page::model()->findByPk($page)->link;    
        echo '
        <iframe id="ifr" src="' . $page . '" align="center">    
        </iframe>';
    Ответ написан
  • Yii yiibooster + yiiheart?

    des1roer
    @des1roer Автор вопроса
    ученье - свет, а неученье - приятный полумрак
    Решил немного топорно
    public function actionDelete($id)
    {
    Engine::model()->deleteByPk($id);

    видать стандартный delete поломался
    $this->loadModel($id)->delete();
    Ответ написан
    Комментировать
  • Yii убрать валидацию с login.php?

    des1roer
    @des1roer Автор вопроса
    ученье - свет, а неученье - приятный полумрак
    а ларчик просто открывался.
    public function rules()
    	{
    		return array(
    			// username and password are required
    			//array('username, password', 'required'),
                               array('username, password', 'safe'),
    			// rememberMe needs to be a boolean
    			array('rememberMe', 'boolean'),
    			// password needs to be authenticated
    			array('password', 'authenticate'),
    		);
    	}

    if (empty($this->username)) $ldapuser = User::model()->find('LOWER(login)=?', array(strtolower(getenv("username"))));
            
            if ($ldapuser)
            {
                $this->_id = $ldapuser->id;        
                $this->username = $ldapuser->login;
                $this->errorCode = self::ERROR_NONE;
            }
            else if ($user === null)
                $this->errorCode = self::ERROR_USERNAME_INVALID;
    Ответ написан
    Комментировать
  • Yii controler и ajax?

    des1roer
    @des1roer Автор вопроса
    ученье - свет, а неученье - приятный полумрак
    Ответ написан
    Комментировать
  • Yupe cложная авторизация по номеру подразделения и роли?

    des1roer
    @des1roer Автор вопроса
    ученье - свет, а неученье - приятный полумрак
    понял что yupe не покрывает всех задач. использовал yii
    des1roer.blogspot.ru/2015/03/yii-rbac.html
    Ответ написан
    Комментировать