标签: concrete5

CKEditor在样式中插入不可编辑的HTML

我目前正在将一个CKEditor端口转换为concrete5.作为其中的一部分,concrete5能够创建可以通过编辑器插入的"片段".开发人员可以定义这些窗口小部件生成的HTML输出类型,但在编辑模式下,它只显示带有以下HTML的占位符:

'<span 
    class="ccm-content-editor-snippet" 
    contenteditable="false" 
    data-scsHandle="' + selectedSnippet.scsHandle + '"
>' + selectedSnippet.scsName +'</span>'
Run Code Online (Sandbox Code Playgroud)

我查看了CKEditor小部件,但不一定要用可能的大量按钮来混淆我的工具栏来激活这样的功能.我很好奇是否可以在stylescombo下拉列表(或类似的下拉列表)中添加一些东西,然后插入一个类似上面的代码片段.

目前我可以尝试这样做可以在https://github.com/ExchangeCore/Concrete5-CKEditor/blob/feature/magicstyles/assets/concrete5styles/plugin.js#L17-L30找到这个不太有效因为我无法插入selectedSnippet.scsName到样式的innerHTML中.是否有一些方法可以做到这一点或其他一些更明显的方式在CKEditor中使用这种插入功能而不需要大量的工具栏按钮?

此外,应该能够删除该范围的内容,但不能编辑.

javascript concrete5 ckeditor ckeditor4.x concrete5-5.7

9
推荐指数
1
解决办法
627
查看次数

为什么这个RewriteRule改变QUERY_STRING,但保持REQUEST_URI不变?

我有一个Concrete5的副本,这是一个基于PHP的CMS,正在运行example.com.

Concrete5附带了以下关于漂亮URL的基本说明(将所有URL重定向到中心index.php)

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} !^/c5.7
RewriteRule ^.*$ c5.7/$0 [L]    # Concrete5 is running in the c5.7/ subdirectory
</IfModule>
Run Code Online (Sandbox Code Playgroud)

非常直截了当.

现在我有一组接受表单的URL

 /product/{productname}
Run Code Online (Sandbox Code Playgroud)

我需要转发到Concrete5(虚拟)URL

/products/details?name={productname}
Run Code Online (Sandbox Code Playgroud)

当我在浏览器中手动输入时,该URL已设置并按预期工作.

所以我在htaccess文件中添加了一行,现在看起来像这样:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

# New rule for products
RewriteCond %{REQUEST_URI} ^/product/
RewriteRule ^product/(.+)$ /products/details?name=$1 [QSA]

RewriteCond %{REQUEST_URI} !^/c5.7
RewriteRule ^.*$ c5.7/$0 [L]

</IfModule>
Run Code Online (Sandbox Code Playgroud)

RewriteRule当我选择随机外部URL作为重定向目标时,我可以确认触发了.

但无论何时它是如上所述的内部重定向,会发生什么,我在Concrete5中得到404.当我检查传递给它的内容时,我看到:

 REQUEST_URI:  /product/my-random-product
 QUERY_STRING: name=my-random-product
Run Code Online (Sandbox Code Playgroud)

因此看起来规则被触发并进行一些重写,但REQUEST_URI保持不变!

为什么?

是因为PHP 7.1是通过CGI运行的吗?

我尝试了很多变化和书中的所有标志,但收效甚微.

apache .htaccess mod-rewrite url-rewriting concrete5

8
推荐指数
1
解决办法
387
查看次数

安全的Javascript GET请求

基本上,我有一个自定义HTML图表,需要来自外部安全代理服务器的值.现在,我将HTML块插入页面上包含JavaScript的相关区域,以通过XHTTP GET请求获取正确的数据.

它非常有效,直到我们限制对我们的代理服务器的访问仅限于我们的C5站点的SSL(这也是我们想要的).

这可以防止图表获取正确的值,因为HTML和JavaScript在客户端执行而不是通过C5执行.

基本上,我需要做的(我认为)是将GET请求移到C5内部,以便它可以通过SSL证书传递.然后,我需要获取该值并将其重新插入图表中.

下面是一些基于我正在放入页面的HTML代码的伪代码.

<!-- This is the actual HTML block that I'm creating. -->
<div id="HTMLBlock455" class="HTMLBlock">
<div class="someCustomChart">

<!-- Here's the script currently running that gets the necessary data and calls the proper functions to populate the chart.  -->

<script type="text/javascript">

// Global Var to store updating value 
var amount = 0;

// Open a new HTTP Request)
var xhr = new XMLHttpRequest();
xhr.open("GET", "Some_ElasticSearch Server", true);
xhr.onreadystatechange = function() {
  if (xhr.readyState === 4) { …
Run Code Online (Sandbox Code Playgroud)

html javascript ssl concrete5

7
推荐指数
1
解决办法
330
查看次数

告诉用户是否从块登录到Concrete5中的编辑/仪表板

我正在编写一个块,希望能够在查看块时告诉用户是否登录到仪表板.我想象应该有类似isAdminArea()或isEditing()的东西,但到目前为止还没能自己找到它!

concrete5

5
推荐指数
1
解决办法
1254
查看次数

具体的主题目录结构5

从我在互联网上收集的内容和部分来自文档的内容来看,建议使用如下主题结构.

/css
/fonts
/img
/includes
/js
/default.php
/main.css
/thumbnail.png
/typography.css
/view.php
Run Code Online (Sandbox Code Playgroud)

我的问题是:

  • main.csstypography.css居住在/css?我喜欢整齐有序的css
  • 你可以使用PHP包含引用主题中的目录吗?例如,在default.php中,你能拥有类似的东西<?php require_once echo $this->getThemePath() . "/includes/footer.html"; ?>吗?
  • echo $this->getThemePath()在子目录(例如my-theme/includes/footer.php)中的文件上使用时是否引用正确的主题文件夹?

php directory-structure concrete5

5
推荐指数
1
解决办法
646
查看次数

如何在没有Twig的情况下呈现独立的Symfony表单?

我有Symfony\Component\Form\FormView对象.如何在没有Twig和框架的情况下渲染它?

具体来说,我想在Concrete5自定义块类型中使用Symfony Form.

concrete5 symfony-forms concrete5-5.7

5
推荐指数
0
解决办法
616
查看次数

Concrete5:将文件缩略图设置为生成的图像(例如,对于PDF)

我正在使用Concrete5,我正在尝试显示各种上传文件的缩略图.虽然其中一些可能是图像,但大多数是PDF.

我目前正在使用:

<?php
$file = File::getByID($fID);
$imageHelper = Core::make('helper/image');
try {
    $imageHelper->outputThumbnail($file, 200, 200);
} catch(InvalidArgumentException $e) { ?>
    <img src='https://placehold.it/200x200'>
<?php } ?>
Run Code Online (Sandbox Code Playgroud)

我更喜欢以某种方式创建一个较小的PDF文件缩略图,例如在后台使用ghostscript.在内置文件管理器中,至少显示一个PDF图标.这将是一个非最佳选择,但仍然比不显示任何东西表示我们正在处理PDF更好.

如何访问内置缩略图?而且,更重要的是,如何在上传某些文件类型时正确覆盖它们?

编辑:

我遇到$file->getThumbnailURL('type');了为自己的目的创建了一个类型.如何在上传文件时自动生成这样的缩略图?我可能会弄清楚如何使用普通的PHP生成文件,但将其存储在Concrete5中是我不确定的.

php concrete5 concrete5-5.7

5
推荐指数
1
解决办法
941
查看次数

Concrete5与drupal中的应用程序可扩展性

我是concrete5和drupal的新手,但我一直在看Concrete5和Drupal.我期待创建一个需要可扩展的Web应用程序.客户端要求将从基本内容管理开始,并且需要扩展到基于工作流的Web应用程序.我一直在研究Drupal和Concrete5的架构.对于那些使用过哪一个你会推荐的人?提前致谢.

drupal content-management content-management-system concrete5

4
推荐指数
1
解决办法
2970
查看次数

Concrete5自定义内容类型(块)

有没有在线的地方可以找到如何创建自定义块,就像我们可以在Wordpress中创建自定义内容类型一样.期望的结果是添加一个块,允许用户添加/编辑自定义字段,如客户名称,投资组合描述,投资组合缩略图.

concrete5

3
推荐指数
1
解决办法
3414
查看次数

如何在Concrete5 CMS的view.php中从block获取pageID

我想从页面属性传输一些数据作为GET请求数据.我在block的view.php中创建的请求的URL.我如何在view.php中获取当前页面的cID?

php concrete5

3
推荐指数
1
解决办法
2100
查看次数