我在 Prestashop 上有一个在线商店的代码,并且在当前页面的元数据中有 content="Shop on PrestaShop" ,但是当我试图在 Webstorm 的项目中找到该字符串来本地化哪个页面文件时就是,我什么也没得到。
所以我猜这是 PHP 的魔法在起作用。所以现在我在找到正确的文件来更改该字符串时遇到了巨大的问题。是否可以通过 Google 开发者工具检查文件名及其扩展名?我从服务器启动站点,而不是本地主机。
我想重构我的方法,它过滤 AssetLink 对象,获取作为 AssetLink 目标的 Content 对象,然后根据 Content 对象设置 ContentLinkMetadata 对象的字段。我的新方法是这样的:
private List<ContentLinkMetadata> getAndFillInternalLinks(final Lesson lesson) {
List<ContentLinkMetadata> internalLinks = new ArrayList<>();
lesson.getAssetLinks().stream()
.filter(linkAsAssetLink -> ALLOWED_INTERNAL_LINK_TYPES.contains(linkAsAssetLink.getTargetType()))
.map(linkAsAssetLink -> {
Content link = contentProvider.getLazyById(linkAsAssetLink.getTargetId());
ContentLinkMetadata internalLink = new ContentLinkMetadata();
internalLink.setDescription(link.getDescription());
internalLink.setId(link.getId());
internalLink.setTitle(link.getTitle());
internalLink.setFriendlyUrl(friendlyUrlResolver.makeUrl(link));
internalLink.setTypeId(link.getTypeId());
internalLinks.add(internalLink);
});
return internalLinks;
}
Run Code Online (Sandbox Code Playgroud)
但是我在 .map 上遇到错误,它说“Stream 类型中的方法映射不适用于参数(noType linkAsAssetLink),我不明白这一点。为什么它说 linkAsAssetLink 是“noType”它实际上是 AssetLink我可以在 contentProvider 的方法中使用它的方法。你能告诉我我在哪里做错了吗?