所以我刚刚开始使用AngularJS,到目前为止它似乎完全没问题,除了一点点障碍.假设我有两个指令,其中一个需要另一个指令,如下所示:
angular.module('components', [])
.directive('outer', function() {
return {
restrict: 'E',
replace: true,
transclude: true,
scope: {},
link: function(scope) { ... },
controller: function($scope) { ... },
templateUrl: 'outer.html' // Note this
};
})
.directive('inner', function() {
return {
require: '^outer', // And this
restrict: 'E',
...
link: function(scope, element, attrs, outerCtrl) { ... },
templateUrl: 'inner.html'
};
});
Run Code Online (Sandbox Code Playgroud)
在HTML中使用的东西是这样的:
<outer>
<inner></inner>
</outer>
Run Code Online (Sandbox Code Playgroud)
如果outer.html之前加载inner.html,则根本没有问题. <outer>正确转换并分配一个范围和一个控制器,并<inner>接收该控制器就好了.
但是,如果模板以相反的顺序加载,<inner>则在<outer>创建控制器之前链接,并且它失败并显示错误消息"错误:无控制器:外部" …
上周我一直在与这个问题作斗争,我真的希望这里有人能帮我解决这个问题。
在使用导入和数据流/导入所有产品工具从不同(且稍旧)的 Magento 商店生成的 CSV 文件中重复导入产品后,我可以让它们显示在后端,似乎所有数据都完好无损,并且带有图像和所有内容,但它们根本不会出现在前端。
似乎让它们出现在前端的唯一方法是将它们从管理产品页面中保存,我不想让客户在 1922 产品上这样做。如果我将它们添加到类别管理器的类别中,它们不会出现,只有(据我所知)如果我从产品管理器页面保存它们。
另请注意,所有产品
此外,缓存已完全禁用,我至少重新索引了所有内容两打。我还尝试运行以下 PHP 代码片段:
$products = Mage::getModel('catalog/product')
->getCollection()
->addAttributeToSelect('*');
foreach ($products as $product) {
if ($product->isSaleable())
Mage::log("Sellable product: {$product->getId()}");
else
Mage::log("Unsellable product: {$product->getId()}");
}
Run Code Online (Sandbox Code Playgroud)
并且日志文件随后只包含"Sellable product: ..."。我也用了同样的产品循环来设置产品的网站ID然后保存,这也没什么区别。我已经尝试$product->getData()通过产品经理在保存之前和之后输出各种隐形产品(使用)的属性值,但我找不到任何差异。我没有在保存前后检查每个 MySQL 表,坦率地说,我宁愿不必这样做。
我不知所措。我不知道还能尝试什么。我可以无数次重新导入产品列表,但我怀疑它会有所作为。我可以再次尝试批量更新产品(使用产品经理的“操作”下拉菜单设置为“更新属性”),但这一次也可能无济于事。有没有人有任何想法?
如果这不是此类问题的正确地点,我深表歉意;如果是这种情况,请随时指出我正确的方向。
更新
原来,该产品并 …