**EXAMPLEChannel > Article FIElds: - Title - Post Body - Image - Tags Additional FIElds for a category: - Price - Product Bio
这可能吗?
解决方法 你对JavaScript有多精明?您可以使用 Brandon Kelly’s CP CSS & JS扩展名.然后使用一点自定义JavaScript来构建该功能.不完美,但可能比编写自定义扩展更快.粗略地说,你这样做:>创建频道字段组和所有频道,并将该组分配给您的频道
>为了使其更有用,您需要类别选择器与字段位于同一“发布”选项卡上:为该通道创建自定义发布布局,将“类别”字段从“类别”选项卡移动到“发布”选项卡
>找到要隐藏的频道字段的ID号,因为那些将是“发布”页面中的HTML ID,看起来像“hold_fIEld_ID#”
>找出要单击以显示其他字段的类别的类别ID.在“发布”页面中,该类别将显示在“类别”字段中,并带有“value = ID”属性.
>剧本时间!前往附加组件>扩展程序> CP CSS& Js设置并在Custom JavaScript字段中添加一些Js.
像这样的东西:
$(document).ready(function() { // Cache the divs with your channel fIElds var $theSecretFIElds = $('#hold_fIEld_5,#hold_fIEld_6'); // HIDe them $theSecretFIElds.each(function() { // But only if they're empty (no prevIoUs saved data) // If you're using a textarea or something else,change the .find selector if ( $(this).find('input').val() === '' ) { $(this).hIDe() }; }); // When you click the category ID (the input[value="ID"] selector)... $('#hold_fIEld_category').find('input[value="12"]').click(function() { // Toggle the visibility of the channel fIElds // Again,only show/hIDe them if they're empty $theSecretFIElds.each( function() { // Again,change the .find selector for your fIEld type if necessary if ( $(this).find('input').val() === '' ) { $(this).toggle() }; }); }); };
您可能必须在单击处理程序中构建更多逻辑,以确保仅在选中复选框时显示字段(以及其他内容),但这是基本想法.
总结以上是内存溢出为你收集整理的content-management-system – ExpressionEngine:有条件地在频道输入表单中显示自定义字段全部内容,希望文章能够帮你解决content-management-system – ExpressionEngine:有条件地在频道输入表单中显示自定义字段所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)