我是Angular和Joomla的新手,我正在学习atm.我想知道的是 - 是否可以在Joomla中集成Angular JS Application?从我读到的关于Joomla的内容来看,我理解这个cms可以轻松地从管理面板创建文章和管理内容和菜单.但是,由于Angular JS应用程序本身就是一个应用程序,因此文章页面无法使用.那么人们如何整合这个呢?
关于Angular App:
我的角色应用程序有点类似于Dan Wahlin的客户经理应用程序,该应用程序具有针对此应用程序的单独MySQL数据库,并使用php在Apache上进行服务器端处理.
尝试将Angular JS与Joomla集成的原因:
主要是,Joomla提供用户注册功能,用户权限管理等.开箱即用,我打算安装会员扩展.我只希望付费会员可以访问Angular App.这就是我想要实现的目标.
到目前为止我研究过的内容:
1)我查看了directPHP扩展,看看是否可以使用此ext插入Angular JS应用程序.但我认为这不会起作用,也不是正确的方法.
2)在搜索更多内容时,我遇到了这个Joomla教程,我不确定这是否适合它."开发MVC组件":http://docs.joomla.org/Developing_a_Model-View-Controller_%28MVC%29_Component_for_Joomla!2.5
如果有人可以指导我这些将极大地帮助我:
1)概述了如何将Angular App与Joomla集成,需要做什么,需求等......我理解解释这将超出SO的范围,但这里的一些指示将有所帮助.
2)向我展示我需要开始阅读的方式,以实现这一目标.我尝试使用谷歌搜索这个主题,我找不到任何教程,展示如何集成Angular和Joomla.
我已经在Laravel 5.1中安装了干预,我正在使用图片上传并调整大小如下:
Route::post('/upload', function()
{
Image::make(Input::file('photo'))->resize(300, 200)->save('foo.jpg');
});
Run Code Online (Sandbox Code Playgroud)
我不明白的是,干预如何处理上传图像的验证?我的意思是,干预是否已经在其中进行了内置图像验证检查,或者是我需要使用Laravel手动添加Validation来检查文件格式,文件大小等的东西.?我已阅读干预文档,但在使用laravel干预时,我无法找到有关图像验证如何工作的信息.
有人能指出我正确的方向吗...
laravel laravel-5 laravel-validation intervention laravel-filesystem
我对此有点困惑.我一直在阅读htmlspecialchars(),我打算将其用于textareas POST以防止XSS攻击.据我所知,通常htmlspecialchars()用于生成发送到浏览器的HTML输出.但我不确定的是:
1)htmlspecialchars()在将用户输入数据插入MySQL之前使用它是否安全?我已经在使用PDO预处理语句和参数化值来防止SQL注入.
2)或者,我真的不需要担心使用htmlspecialchars()插入值(假设它们是参数化的)并且仅htmlspecialchars()在我从MySQL获取结果并将其显示给用户时使用?
我正在添加一个Angular UI Modal,我将范围传递给Modal Window以进行双向绑定.我使用该resolve方法传递范围值.这样做有点工作意味着当父模型中的ng模型值发生变化时,它会反映在模态窗口内部.但是,如果值在模态窗口内发生变化,则它不会反映在父模型中.这是我的代码:
HTML:
<div ng-app="app">
<div ng-controller="ParentController">
<br />
<input type="text" ng-model="textbox.sample" />
<a class="btn btn-default" ng-click="open(textbox.sample)">Click Me</a>
<script type="text/ng-template" id="ModalContent.html">
<input type = "text" ng-model= "ngModel" / >
</script>
<br />{{ textbox }}
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
控制器:
var app = angular.module('app', ['ui.bootstrap']);
app.controller('ParentController', function ($scope, $modal) {
$scope.textbox = {};
// MODAL WINDOW
$scope.open = function (_ngModel) { // The ngModel is passed from open() function in template
var modalInstance = $modal.open({
templateUrl: 'ModalContent.html',
controller: ModalInstanceCtrl, …Run Code Online (Sandbox Code Playgroud) javascript twitter-bootstrap angularjs angularjs-scope angular-ui-bootstrap
我知道有两种方法可以添加媒体查询:
HTML链接:
<LINK REL="stylesheet" TYPE="text/css" MEDIA="(max-width: 1024px)" HREF="foo.css">
Run Code Online (Sandbox Code Playgroud)
CSS:
@media all and (max-width: 1024px) {
......
}
Run Code Online (Sandbox Code Playgroud)
我已阅读文档,我理解这两种方法之间的明显区别.但是,以下是2个问题我怀疑你是否可以澄清:
1)浏览器是否以不同于CSS媒体查询的方式处理HTML媒体链接?我的意思是,我知道如果在css中添加CSS媒体查询,所有css文件都会被下载到所有设备,并且当浏览器解释编译的css时,只有相应的媒体查询才会生效.但是如果媒体链接是用HTML添加的,那么它是否意味着浏览器只会在匹配指定宽度的设备时才下载foo.css?与Css媒体查询相比,浏览器处理HTML媒体链接的方式是否存在差异,或者它们是否完全相同但只是添加到网页的不同方式?
2)假设foo.css还有1024px以外的较小宽度的媒体查询,如下所示:
body {
padding: 10px;
}
@media all and (max-width: 900px) {
body {
padding: 5px;
}
}
@media all and (max-width: 800px) {
body {
padding: 0px;
}
}
Run Code Online (Sandbox Code Playgroud)
如果使用HTML链接添加上述文件,如下所示:
<LINK REL="stylesheet" TYPE="text/css" MEDIA="(max-width: 1024px)" HREF="foo.css">
Run Code Online (Sandbox Code Playgroud)
这会成为浏览器看待它的嵌套媒体查询吗?我不明白的是,如果使用html链接添加上述内容,我不知道浏览器是否真的会像这样看起来无效:
@media all and (max-width: 1024px) {
body {
padding: 10px;
}
@media all and (max-width: 900px) {
body {
padding: 5px;
}
} …Run Code Online (Sandbox Code Playgroud) 我正在学习Angular JS,我有一个类似于父控制器和子控制器的东西:
<div ng-controller="MainCtrl">
<p>Good {{question}}</p>
<div ng-controller="ChildCtrl">
<p>Good {{answer}}!</p>
</div>
Bind the Child Controller's scope and show here: {{ answer}}
<div>
Run Code Online (Sandbox Code Playgroud)
子控制器在这里使用这样的范围:
$scope.answer = response.answer;
Run Code Online (Sandbox Code Playgroud)
如何{{ answer }}在子控制器外部和父控制器内部显示?
使用Laravel 5.3通知功能,我看到通知发送给用户,如下所示:
$user->notify(new InvoicePaid($invoice));
Run Code Online (Sandbox Code Playgroud)
我认为$user是值得注意的实体.如果我想向没有帐户的用户发送通知怎么办?在我的应用中,用户向他们的朋友发送邀请以加入.我正在尝试使用Laravel的通知将邀请代码发送给尚未拥有帐户的用户.
当用户邀请某人时,他们的数据存储在邀请模型中,如下所示:
class Invite extends Model
{
protected $table = 'invites';
protected $fillable = array('name', 'email', 'invite_code', 'expires_at', 'invited_by');
protected $dates = ['expires_at'];
}
Run Code Online (Sandbox Code Playgroud)
我以为我可以使用notify向Invite模型发送通知,如下所示:
$invite = Invite::find($inviteId);
$invite->notify(new InvitationNotification(ucfirst($invite->name), $invite->invite_code, $invite->expires_at));
Run Code Online (Sandbox Code Playgroud)
但上述方法无效.我收到错误:
Call to undefined method Illuminate\Database\Query\Builder::notify()
Run Code Online (Sandbox Code Playgroud)
所以我的问题是:
我能将通知仅发送给用户模型吗?
有没有办法将通知发送给没有帐户的新用户?
在这些情况下,我唯一的选择是使用Laravel的Mailable类而不是Notification吗?
当我在Laravel中使用验证功能时,如何添加输入中允许的预定义字符串?
例如,假设我希望输入仅包含以下内容之一:foo,bar,baz,我该怎么做?
$validator = Validator::make($credentials, [
'profile' => 'required|max:255', // Here I want Predefined allowed values for it
]);
Run Code Online (Sandbox Code Playgroud) 我一直在玩这个并且无法让它发挥作用.我正在创建一个角形表单,当required属性添加到文本字段时,我能够使验证工作.但是,如果file添加了带有required属性的输入类型,我注意到$error.required文本已显示但即使选择了文件也无法验证.即使添加文件后,它仍然显示为无效.我在jsfiddle中创建了一个示例,所以你可以看一下:http://jsfiddle.net/Alien_time/kxSaz/6/
验证不适用于文件输入吗?如何在使用文件选择时添加必需的选项并进行验证?
javascript validation angularjs angularjs-scope angularjs-ng-form
我曾经有Angular Stripe Checkout表单,我正在尝试将我的表单更新为最近推出的新Stripe Card Elements.
删除表单输入字段并将其替换为Stripe Card元素后,我的表单如下所示:
<form name="payment" ng-submit="vm.submit()">
<div class="row">
<label for="card-element">
Credit or debit card
</label>
<div id="card-element">
<!-- a Stripe Element will be inserted here. -->
</div>
</div>
<button class="btn btn-primary" type="submit" ng-disabled="vm.submitting">Pay!</button>
<div ng-show="vm.cardError" class="row">
<div class="has-error">
<p class="help-block">* {{vm.cardError}}</p>
</div>
</div>
</form>
Run Code Online (Sandbox Code Playgroud)
以前在角,提交表单的时候,我正在处理submit(),并stripeResponseHandler从控制器.使用新更改更新我的Angular Controller后,我的控制器现在看起来像这样:
function PaymentController() {
var vm = this;
var elements = stripe.elements();
var style = {
base: {
color: '#32325d',
lineHeight: '24px',
fontFamily: 'Helvetica Neue', …Run Code Online (Sandbox Code Playgroud) dom-manipulation angularjs stripe-payments angularjs-directive angular-controller
angularjs ×5
javascript ×4
laravel ×3
laravel-5 ×2
php ×2
controller ×1
css ×1
css3 ×1
html ×1
intervention ×1
joomla ×1
laravel-5.3 ×1
laravel-mail ×1
mysql ×1
pdo ×1
scope ×1
sql ×1
validation ×1