如何在Yii Framework中包含Javascript或CSS文件?
我想在我的网站上创建一个运行一点Javascript应用程序的页面,所以我想在特定视图中包含.js和.css文件.
在Yii 1.1中,此代码适用于默认排序:
$dataProvider = new CActiveDataProvider('article',array(
'sort'=>array(
'defaultOrder'=>'id DESC',
),
));
Run Code Online (Sandbox Code Playgroud)
如何在Yii2中设置默认排序?
尝试下面的代码,但没有结果:
$dataProvider = new ActiveDataProvider([
'query' => $query,
'sort' => ['defaultOrder'=>'topic_order asc']
]);
Run Code Online (Sandbox Code Playgroud) 我想将Marketo表单与我在yii框架上的现有网站集成.我的代码适用于除Firefox之外的所有浏览器.
摘自我的代码:
$('#button').click(function () {
var formData = {
'Email': $('#UserInfo_email').val(),
'FirstName': $('#UserInfo_first_name').val(),
'LastName': $('#UserInfo_last_name').val(),
};
MktoForms2.loadForm('//app-ab23.marketo.com', mcId, formId, function (form) {
var myForm = MktoForms2.allForms()[0];
myForm.addHiddenFields(formData);
myForm.onSuccess(function (values, followUpUrl) {
return false;
});
myForm.submit();
});
});
Run Code Online (Sandbox Code Playgroud)
我只在消息上遇到Firefox错误
带有源" http://app-ab23.marketo.com/index.php/form/getForm?munchkinId=1111&form=1111&url=http%3A%2F%2Fblox.dev%2Fwizard%2Fmap&callback=的<script>加载失败jQuery110207175825035737486_1503656391790&_ = 1503656391791 ".
其他浏览器正确完成工作
注意:munchkinId和formId已更改,可在此处发布.
我有这个奇怪的错误,CURL ERROR:Recv失败:连接由同行重置
这就是它发生的方式,如果我没有连接到服务器并突然尝试通过PHP中的CURL连接到服务器我得到错误.当我再次运行CURL脚本时,错误消失,然后一直运行良好,如果我让远程服务器空闲大约30分钟或重新启动远程服务器并尝试再次连接,我再次收到错误.所以似乎连接是空闲的,然后突然服务器唤醒然后工作然后再次睡眠.
这就是我的CURL脚本的外观.
$url = Yii::app()->params['pdfUrl'];
$body = 'title='.urlencode($title).'&client_url='.Yii::app()->params['pdfClientURL'].'&client_id='.Yii::app()->params['pdfClientID'].'&content='.urlencode(htmlentities($content));
$c = curl_init ($url);
$body = array(
"client_url"=>Yii::app()->params['pdfClientURL'],
"client_id"=>Yii::app()->params['pdfClientID'],
"title"=>urlencode($title),
"content"=>urlencode($content)
);
foreach($body as $key=>$value) { $body_str .= $key.'='.$value.'&'; }
rtrim($body_str,'&');
curl_setopt ($c, CURLOPT_POST, true);
curl_setopt ($c, CURLOPT_POSTFIELDS, $body_str);
curl_setopt ($c, CURLOPT_RETURNTRANSFER, true);
curl_setopt ($c, CURLOPT_CONNECTTIMEOUT , 0);
curl_setopt ($c, CURLOPT_TIMEOUT , 20);
$pdf = curl_exec ($c);
$errorCode = curl_getinfo($c, CURLINFO_HTTP_CODE);
$curlInfo = curl_getinfo($c);
$curlError = curl_error($c);
curl_close ($c);
Run Code Online (Sandbox Code Playgroud)
我完全没有想法和解决方案,请帮忙,我会很感激!!!
如果我详细说明输出,看看会发生什么
curl_setopt ($c, CURLOPT_VERBOSE, TRUE);
curl_setopt($c, CURLOPT_STDERR, $fp);
Run Code Online (Sandbox Code Playgroud)
我得到以下内容 …
如何在yii中以json格式(application/json)获得响应?
在yii2 gridview中,我有这个代码:
<?php echo GridView::widget([
'dataProvider' => $dataProvider,
'filterModel' => $searchModel,
'columns' => [
['class' => 'yii\grid\SerialColumn'],
[
'label' => 'bla',
'format' => 'url',
'value' => function ($data) {
return Html::url('site/index');
},
],
['class' => 'yii\grid\ActionColumn'],
],
]); ?>
Run Code Online (Sandbox Code Playgroud)
在网格视图中,使用url地址生成文本.
/学术界 - 新/高级/管理/网站/指数
网址工作正常,但如何为链接设置文字?
我正在尝试通过ajax发送Get请求并输出服务器在html中返回的json数据.
但是,我收到了这个错误.
Uncaught TypeError: Cannot use 'in' operator to search for '324' in
[{"id":50,"name":"SEO"},{"id":22,"name":"LPO",}]
Run Code Online (Sandbox Code Playgroud)
这是我的代码,它通过ajax向php文件发送Get请求.当我使用$ .each方法时,它会得到我在上面显示的错误.
parentCat.on('change', function(e){
parentCatId = $(this).val();
$.get(
'index.php?r=admin/post/ajax',
{"parentCatId":parentCatId},
function(data){
$.each(data, function(key, value){
console.log(key + ":" + value)
})
}
)
})
Run Code Online (Sandbox Code Playgroud)
这是我的PHP代码,以json格式返回查询结果.
public function actionAjax(){
$parentCatId=$_GET['parentCatId'];
$catData = Category::getTargetCategoryData($parentCatId);
echo CJSON::encode($catData);
Yii::app()->end();
}
Run Code Online (Sandbox Code Playgroud)
这个php输出的json数据是这样的.
[{"id":50,"name":"SEO"},{"id":22,"name":"LPO",}]
Run Code Online (Sandbox Code Playgroud)
任何人都知道如何解决这个问题?
请帮帮我.提前致谢 :)
在Yii中,如何获取当前页面的URL.例如:
http://www.yoursite.com/your_yii_application/?lg=pl&id=15
Run Code Online (Sandbox Code Playgroud)
但不包括$GET_['lg'](没有手动解析字符串)?
我的意思是,我正在寻找类似于Yii::app()->requestUrl/ Chtml::link()方法的东西,用于返回URL减去一些$_GET变量.
编辑:当前解决方案:
unset $_GET['lg'];
echo Yii::app()->createUrl(
Yii::app()->controller->getId().'/'.Yii::app()->controller->getAction()->getId() ,
$_GET
);
Run Code Online (Sandbox Code Playgroud) UPDATE
列出VALUES时我犯了一个小错误.我应该输入":username"而不是":alias".我想这个问题的答案可归功于任何想要它的人的免费统治吗?或者我删除这个问题?
原版的
我一直在使用Yii的活跃记录模式.现在,我的项目需要为一个小事务访问不同的数据库.我认为Yii的DAO对此有好处.但是,我收到了一个神秘的错误.
CDbCommand无法执行SQL语句:SQLSTATE [HY093]:参数号无效:未定义参数
这是我的代码:
public function actionConfirmation
{
$model_person = new TempPerson();
$model = $model_person->find('alias=:alias',array(':alias'=>$_GET['alias']));
$connection=Yii::app()->db2;
$sql = "INSERT INTO users (username, password, ssn, surname
, firstname, email, city, country)
VALUES(:alias, :password, :ssn, :surname
, :firstname, :email, :city, :country)";
$command=$connection->createCommand($sql);
$command->bindValue(":username", $model->alias);
$command->bindValue(":password", substr($model->ssn, -4,4));
$command->bindValue(":ssn", $model->ssn);
$command->bindValue(":surname", $model->lastName);
$command->bindValue(":firstname", $model->firstName);
$command->bindValue(":email", $model->email);
$command->bindValue(":city", $model->placeOfBirth);
$command->bindValue(":country", $model->placeOfBirth);
$command->execute();
$this->render('confirmation',array('model'=>$model));
}
Run Code Online (Sandbox Code Playgroud)
这构造了以下查询(如应用程序日志中所示):
INSERT INTO users (username, password, ssn, surname, firstname, email
, city, country)
VALUES(:alias, :password, :ssn, :surname, …Run Code Online (Sandbox Code Playgroud) 我终于无法理解如何在Yii2中使用swiftMailer扩展.从这个问题来看,我没有找到问题,任务是微不足道的,但直到最后我都无法理解.
有些例子没有详细描述发送信件的所有周期或我不明白的东西:(
建立
return [
//....
'components' => [
......
'mail' => [
'class' => 'yii\swiftmailer\Mailer',
'transport' => [
'class' => 'Swift_SmtpTransport',
'host' => 'localhost',
'username' => 'username',
'password' => 'password',
'port' => '587',
'encryption' => 'tls',
],
],
]
];
Run Code Online (Sandbox Code Playgroud)
发送
Yii::$app->mail->compose()
->setTo($toEmail)
->setFrom([$this->email => $this->name])
->setSubject($this->subject)
->setTextBody($this->body)
->send();
Run Code Online (Sandbox Code Playgroud)
我希望得到一个具体的工作实例.谢谢.
PS我调整了域名记录MX,DKIM,SPF添加.
UPD(一些答案):
在"发送"字段中传递的电子邮件,默认情况下在"返回路径"字段中被放下,必须是现有地址.某些提供商不允许从不存在的电子邮件地址发送邮件.
php ×10
yii ×10
javascript ×3
yii2 ×3
jquery ×2
ajax ×1
css ×1
curl ×1
current-page ×1
firefox ×1
frameworks ×1
gridview ×1
mysql ×1
parameters ×1
swiftmailer ×1
uri ×1