3

有谁知道在 LimeSurvey 中复制调查时防止 QID 发生变化的方法。我正在将调查从开发服务器复制到生产服务器,并编辑了模板 css 来做许多特定的事情。例如,我有针对特定问题 ID (QID) 的自定义 CSS,以便在该特定问题中不显示某些数字或标题。

当我将调查传输到生产服务器时,QID 会发生变化,并且我的自定义 CSS 不适用于调查的相同内容。有谁知道将所有原始信息从一项调查完全转移到另一项调查的方法?如果没有,是否有人知道自定义 CSS 的替代方法可以在复制调查之间普遍使用?

这是一个例子:

#slider-844755X43X297SQ001 .slider_callout {
display: none;}
#question87_warning {display:none}

当我复制调查时,问题可能会显示为#question155而不是#question87。在这里的任何帮助将不胜感激。

4

2 回答 2

2

无法避免在导入时更改 QID。它是一个序列号,因此取决于新服务器上已经创建了多少问题。

我建议使用 JavaScript 将一个类应用于问题,然后从 template.css 定位该类。

所以,在问题的 HTML 源代码中是这样的:

<script type="text/javascript" charset="utf-8"> $(document).ready(function(){ $('#question{QID}).addClass(with-no-callout); }); </script>

然后在 template.css 中是这样的:

.with-no-callout .slider_callout { display: none; }

于 2015-11-27T11:04:47.020 回答
1

没有 javascript 的替代解决方案:

  1. 设置您的调查以显示问题代码https://manual.limesurvey.org/Survey_settings#Presentation_.26_navigation
  2. 更新 question.pstpl 以将 {QUESTION_CODE} 添加到问题的类中
  3. 在你的 template.css 中使用这个类,你也可以使用 qcode-{QUESTION_CODE} 作为类等等......
  4. 您可以对 {QUESTION_NUMBER} 进行同样的思考

<div {QUESTION_ESSENTIALS} class="question-wrapper {QUESTION_CLASS}{QUESTION_MAN_CLASS}{QUESTION_INPUT_ERROR_CLASS} qcode{QUESTION_CODE}{if(!is_empty(QUESTION_MANDATORY)," required","")}{if(is_empty(QUESTIONHELP)," nohelp","")}">

例如,还有更多系统(必需且无帮助)。取自https://git.framasoft.org/Shnoulle/SkeletonQuest/blob/master/question.pstpl#L1

于 2015-11-27T11:21:02.117 回答