Участник
Пользователь
- Сообщения
- 104
- Реакции
- 38
- Помог
- 1 раз(а)
Доброго времени суток форумчане.
С недавних пор ломал себе голову как заменить в банлисте ненужную графу ICQ на странице админов(Мелочь а приятно).
Вот так это выглядит на стандартной версии:
Погуглив нашел тему на всем известном ресурсе c-s.net, в той теме был мануал как переделать поле ICQ в поле ВК или скайп, а так же добавить любое другое поле, для ваших нужд.
В итоге после всех манипуляций мы получим колонку такого вида:
Но мне хотелось сделать по другому, я хотел сделать что бы это было реализовано только иконкой. Допустим если вк указан то иконка была ярко синего цвета, если не указана то иконка была бы прозрачная. И в итоге мне подсказали решение моей проблемы и я реализовал вывод страницы вк такого вида которого хотел и заодно пример добавления дополнительного поля в моем случае Skype(Кстати колонку Skype по аналогии так же можно будет сделать иконкой:
Пример работы:
Для малоимущих выкладываю иконки ВК и скайпа:
Надеюсь что моя статься кому либо пригодится.
Спасибо за внимание.
С недавних пор ломал себе голову как заменить в банлисте ненужную графу ICQ на странице админов(Мелочь а приятно).
Вот так это выглядит на стандартной версии:
Погуглив нашел тему на всем известном ресурсе c-s.net, в той теме был мануал как переделать поле ICQ в поле ВК или скайп, а так же добавить любое другое поле, для ваших нужд.
В итоге после всех манипуляций мы получим колонку такого вида:
1. В файле protected/models/amxadmins.php сделать следующие изменения:
2. В файле /protected/views/amxadmins/index.php сделать следующие изменения:
3. В файле protected/controllers/AmxadminsController.php сделать следующие изменения:
В базе в таблице amxadmins для колонки "icq" выставить тип "varchar" с длинной "32"
Изменить
на
Код:
* @property integer $icq Контакты
Код:
* @property integer $icq Skype
Изменить
на
Код:
array('icq, ashow, days, change', 'numerical', 'integerOnly'=>true),
Код:
array('ashow, days, change', 'numerical', 'integerOnly'=>true),
array('icq', 'length', 'max'=>32),
Изменить
на
Код:
'icq' => 'ICQ'
Код:
'icq' => 'Skype'
Изменить
на
Код:
'value' => '$data->icq != 0 ? CHtml::encode($data->icq) : "<i>Не задан</i>"',
Код:
'value' => '$data->icq ? CHtml::image("/ban/images/skype.ico"). " " . CHtml::link($data->icq, "skype:".$data->icq."?call") : "<i>Не указано</i>"',
Изменить
на
Код:
<tr>";
$info .= "<td><b>Контакты</b></td>";
$info .= "<td>" . ($model->icq ? CHtml::image("//icq-rus.com/icq/3/".$model->icq.".gif"). " " . $model->icq : 'Не задан') . "</td>";
$info .= "</tr>
Код:
<tr>";
$info .= "<td><b>Skype</b></td>";
$info .= "<td>" . ($model->icq ? CHtml::image("/ban/images/skype.ico"). " " . CHtml::link($model->icq, "skype:".$model->icq."?call") : 'Не указано') . "</td>";
$info .= "</tr>
1. В файле protected/models/amxadmins.php сделать следующие изменения:
2. В файле /protected/views/amxadmins/index.php сделать следующие изменения:
3. В файле protected/controllers/AmxadminsController.php сделать следующие изменения:
В базе в таблице amxadmins для колонки "icq" выставить тип "varchar" с длинной "32"
Изменить
на
Код:
* @property integer $icq Контакты
Код:
* @property integer $icq Вконтакте
Изменить
на
Код:
array('icq, ashow, days, change', 'numerical', 'integerOnly'=>true),
Код:
array('ashow, days, change', 'numerical', 'integerOnly'=>true),
array('icq', 'length', 'max'=>32),
Изменить
на
Код:
'icq' => 'ICQ'
Код:
'icq' => 'Вконтакте'
Изменить
на
Код:
'value' => '$data->icq != 0 ? CHtml::encode($data->icq) : "<i>Не задан</i>"',
Код:
'value' => '$data->icq ? CHtml::image("/ban/images/vk.ico"). " ". CHtml::link($data->icq, "http://".$data->icq, array("target"=>"_blank")): "<i>Не указано</i>"',
Изменить
на
Код:
<tr>";
$info .= "<td><b>Контакты</b></td>";
$info .= "<td>" . ($model->icq ? CHtml::image("//icq-rus.com/icq/3/".$model->icq.".gif"). " " . $model->icq : 'Не задан') . "</td>";
$info .= "</tr>
Код:
<tr>";
$info .= "<td><b>Вконтакте</b></td>";
$info .= "<td>" . ($model->icq ? CHtml::image("/ban/images/vk.ico"). " " . CHtml::link($model->icq, "http://".$model->icq, array("target"=>"_blank")) : 'Не указано') . "</td>";
$info .= "</tr>
В файле protected/models/amxadmins.php сделать следующие изменения:
2. В файле /protected/views/amxadmins/index.php сделать следующие изменения:
3. В файле protected/controllers/AmxadminsController.php сделать следующие изменения:
4. В файле /protected/views/amxadmins/_form.php сделать следующие изменения:
5. В файле /protected/views/amxadmins/view.php сделать следующие изменения:
В базе в таблице amxadmins нужно создать колонку "skype" тип "varchar" с длинной "32"
После
Добавить
Код:
* @property integer $icq Вконтакте
Код:
* @property integer $skype Skype
Изменить
на
Код:
array('username, access, flags, steamid, nickname', 'length', 'max'=>32),
Код:
array('username, access, flags, steamid, nickname, skype', 'length', 'max'=>32),
Изменить
на
Код:
array('id, username, password, access, flags, steamid, nickname, icq, ashow, created, expired, days', 'safe', 'on'=>'search'),
Код:
array('id, username, password, access, flags, steamid, nickname, icq, ashow, created, expired, days, skype', 'safe', 'on'=>'search'),
После
добавить
Код:
'icq' => 'Вконтакте',
Код:
'skype' => 'Skype',
После
добавить
Код:
$criteria->compare('icq',$this->icq);
Код:
$criteria->compare('skype',$this->skype);
После
добавить
Код:
,
array(
'name' => 'icq',
'type' => 'raw',
'value' => '$data->icq ? CHtml::image("/ban/images/vk.ico"). " ". CHtml::link($data->icq, "http://".$data->icq, array("target"=>"_blank")): "<i>Не указано</i>"',
'htmlOptions' => array(
'style' => 'width: 170px;'
)
)
Код:
,
array(
'name' => 'skype',
'type' => 'raw',
'value' => '$data->skype ? CHtml::image("/ban/images/skype.ico"). " " . CHtml::link($data->skype, "skype:".$data->skype."?call") : "<i>Не указано</i>"',
'htmlOptions' => array(
'style' => 'width: 170px;'
)
)
После
добавить
Код:
<tr>";
$info .= "<td><b>Вконтакте</b></td>";
$info .= "<td>" . ($model->icq ? CHtml::image("/ban/images/vk.ico"). " " . CHtml::link($model->icq, "http://".$model->icq, array("target"=>"_blank")) : 'Не указано') . "</td>";
$info .= "</tr>
Код:
<tr>";
$info .= "<td><b>Skype</b></td>";
$info .= "<td>" . ($model->skype ? CHtml::image("/ban/images/skype.ico"). " " . CHtml::link($model->skype, "skype:".$model->skype."?call") : 'Не указано') . "</td>";
$info .= "</tr>
После
добавить
Код:
echo $form->textFieldRow($model,'icq',array('class' => 'span6',));
Код:
echo $form->textFieldRow($model,'skype',array('class' => 'span6',));
После
добавить
Код:
'icq'
Код:
'skype',
В базе в таблице amxadmins нужно создать колонку "skype" тип "varchar" с длинной "32"
Но мне хотелось сделать по другому, я хотел сделать что бы это было реализовано только иконкой. Допустим если вк указан то иконка была ярко синего цвета, если не указана то иконка была бы прозрачная. И в итоге мне подсказали решение моей проблемы и я реализовал вывод страницы вк такого вида которого хотел и заодно пример добавления дополнительного поля в моем случае Skype(Кстати колонку Skype по аналогии так же можно будет сделать иконкой:
1. В файле protected/models/amxadmins.php сделать следующие изменения:
2. В файле /protected/views/amxadmins/index.php сделать следующие изменения:
3. В файле protected/controllers/AmxadminsController.php сделать следующие изменения:
Следует обратить внимание что:
vk.com/ - если в качестве идентификатора только айди вводите, иначе ссылка не будет ссылаться на вк.
vk_neukazan.ico - наименование файла от "неуказанного" вк
В базе в таблице amxadmins для колонки "icq" выставить тип "varchar" с длинной "32"
Изменить
на
Код:
* @property integer $icq Контакты
Код:
* @property integer $icq Вконтакте
Изменить
на
Код:
array('icq, ashow, days, change', 'numerical', 'integerOnly'=>true),
Код:
array('ashow, days, change', 'numerical', 'integerOnly'=>true),
array('icq', 'length', 'max'=>32),
Изменить
на
Код:
'icq' => 'ICQ'
Код:
'icq' => 'Вконтакте'
Изменить
на
Код:
'value' => '$data->icq != 0 ? CHtml::encode($data->icq) : "<i>Не задан</i>"',
Код:
'value' => '$data->icq ? CHtml::link(CHtml::image("/ban/images/vk.ico"), "http://vk.com/".$data->icq, array("target"=>"_blank")): CHtml::image("/ban/images/vk_neukazan.ico")',
Изменить
на
Код:
<tr>";
$info .= "<td><b>Контакты</b></td>";
$info .= "<td>" . ($model->icq ? CHtml::image("//icq-rus.com/icq/3/".$model->icq.".gif"). " " . $model->icq : 'Не задан') . "</td>";
$info .= "</tr>
Код:
<tr>";
$info .= "<td><b>Вконтакте</b></td>";
$info .= "<td>" . ($model->icq ? CHtml::link(CHtml::image("/ban/images/vk.ico"), "http://vk.com/".$model->icq, array("target"=>"_blank")) : CHtml::image("/ban/images/vk_neukazan.ico")) . "</td>";
$info .= "</tr>
vk.com/ - если в качестве идентификатора только айди вводите, иначе ссылка не будет ссылаться на вк.
vk_neukazan.ico - наименование файла от "неуказанного" вк
В базе в таблице amxadmins для колонки "icq" выставить тип "varchar" с длинной "32"
Пример работы:
Для малоимущих выкладываю иконки ВК и скайпа:
Надеюсь что моя статься кому либо пригодится.
Спасибо за внимание.
Огромное спасибо пользователю форума c-s.net(Inf19) за предоставленный мануал.
Доработал: ImbaSS
Доработал: ImbaSS