将特定tt_content元素插入为无效('type'=>'inline')

时间:2016-09-12 12:25:14

标签: typo3

我想插入一个新的特定内容元素作为内联元素。 外表是tt_content。

tt_content as irre

如果我这样做,我会得到所有选项(ctype下拉等)

是否可以预先选择内容元素(ctype)并阻止用户在内联编辑中更改内容元素?

'children' => [
        'exclude' => 0,
        'label'   => 'LLL:Label',
        'config'  => [
            'type'          => 'inline',
            'foreign_table' => 'tt_content',
            'foreign_field' => 'parent'
        ]
    ],

enter image description here

3 个答案:

答案 0 :(得分:6)

你可以改变这样的默认值,perhabs你也可以覆盖默认的调色板

    'config' => array(
        'type' => 'inline',
        'foreign_table' => 'tt_content',
        'foreign_field' => 'irre_multitab',
        'foreign_record_defaults' => array(
            'colPos' => '666',
            'CType' => 'text'
        ),
        'foreign_types' => array(
            'header' => array(
                'showitem' => '
                --palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.general;general,
                 '
            ),
        ),

答案 1 :(得分:1)

针对 TYPO3 v8.7+ 的更新答案

从 v8.7 开始不推荐使用 overrideChildTca,而是使用 'children' => [ 'exclude' => 0, 'label' => 'LLL:Label', 'config' => [ 'type' => 'inline', 'foreign_table' => 'tt_content', 'foreign_field' => 'parent', 'overrideChildTca' => [ // overwrite whichever children TCA configuration here ], ] ] ,这提供了更多的覆盖机会。上面的例子看起来像这样:

/* ----Body & Background---- */
html {
  --green: #78C043;
  --blue: #42C8F4;
  --purple: #AA6DA3;
  --grey: #544D56;
}

body {
  background: #000000;
  font-size: 1rem;
  font-family: 'Montserrat', sans-serif;
  color: var(--green);
}

#background {
  position: fixed;
  top: 2vh;
  left: 2vw;
  height: 96vh;
  width: 96vw;
  background-image: url(http://fatcat-designs.com/images/green-grid2.svg);
  background-size: 40px;
  border-color: rgba(120, 192, 67, 0.75);
  box-shadow: 0 0 1rem 0.01rem rgba(120, 192, 67, 0.75) inset;
  border-style: solid;
  border-width: 0.5px;
  z-index: -10;
}

#particleWeb { 
  position: absolute;
  width: 100%; 
  height: 100%; 
  background: rgba(0, 0, 0, 0.5); 
} 

/* ---Grid---- */
.grid-container {
    position: fixed;
    top: 2.5vh;
    left: 2.5vw;
    width: 95vw;
    height: 95vh;
    display: grid;
  grid-template-columns: 1fr 50% 1fr;
  grid-template-rows: 1fr 1fr 1fr 1fr 1fr; 
}

/* ----Logos---- */
#logo {
  grid-column: 2;
  grid-row: 2;
  grid-gap: 2rem;
  align-self: center;
  justify-self: center;
  max-width: 90vw;
}

#Farrago {
  --ratio: 704 / 1819;
  --container-height: 100vh;
  display: block;
  width: calc(150vw * var(--ratio));
  max-width: calc(var(--container-height) * var(--ratio) * 1.25);
  height: 100%;
  max-height: var(--container-height);
}

#deptLogo {
  grid-column: 2;
  grid-row: 3;
  grid-gap: 2rem;
  align-self: center;
  justify-self: center;
  max-width: 90vw;
}

#NSCS  {
  --ratio:  968 / 1657;
  --container-height: 100vh;
  display: block;
  width: calc(100vw * var(--ratio));
  max-width: calc(var(--container-height) * var(--ratio) * 0.75);
  height: 100%;
  max-height: var(--container-height);
  padding-top: 1rem;
  padding-bottom: 1rem;
}

/* ----Button ----*/
#enter {
  grid-column: 2;
  grid-row: 4;
  grid-gap: 1rem;
  align-self: center;
  justify-self: center;
  max-width: 80vw;
  display: flex;
  flex-direction: column;
}

/* ----All Buttons---- */
button {
  position: relative;
  padding: 0.2rem 0.3rem;
  background: rgba(84, 77, 86, 0.5);
  border-color: var(--green);
  border-style: solid;
  border-radius: 5px 5px 5px 5px;
  box-shadow: 0 0 0.5rem 0.1rem rgba(120, 192, 67, 0.5);
  color: var(--blue);
  font-family: 'Montserrat', sans-serif;
  font-size: 1.2rem;
  text-align: center;
  text-decoration: none;
  line-height: 1;
  cursor: pointer;
  transition: background 250ms ease-in-out, transform 150ms ease;
}
button::selection {
  background: var(--blue); 
  color: #000000;
}
button::-moz-selection {
  background: var(--blue); 
  color: #000000;
}
button:hover,
button:focus {
  background: rgba(84, 77, 86, 0.25);
  border-color: var(--blue);
}
button:focus {
  color: var(--blue);
  outline: none;
  border-color: var(--blue);
}
button:active {
  background: rgba(84, 77, 86, 0);
  color: var(--purple);
  box-shadow: 0 0 0.5rem 0.1rem rgba(120, 192, 67, 0.5) inset;
}

/* ----Specific Buttons---- */
.enter {
  align-self: center;
  justify-self: center;
  display: block;
  margin-left: auto;
  margin-right: auto;
  font-size: min(3vw, 3vh);
    padding: 0.5em 2em;
    max-height: 50%;
}

答案 2 :(得分:0)

不是一个简单的方法。

查看ext:gridelments,其中插入了在列中限制CE类型的可能性。

否则您可以从page- / user-TSconfig预填充CType字段并使用CSS隐藏字段。但是输入字段是不可见的,使用像firebug这样的工具编辑器可以使它们再次可见。 您无法从显示中删除该字段(在TCA字段列表中),因为该字段根本不会被设置。