标签: extbase

Typo3 V6:如何创建内容元素容器?(没有电视)

对于一个我正在使用Typo3 v6.0的项目.我正在寻找创建嵌套的内容元素或内容元素容器.我希望能够在不使用特定模板的情况下创建内联双列布局.我希望使用templavoila 这样做.

我曾尝试扩展是gridelements,kb_nescefe,bs_fce,multicolumn但这些不工作,因为它们与TYPO3的V6兼容.

我的目标是像附加图像那样的最终结果.内联双列内容可以省略,使用一次或多次使用,包含任何其他内容元素.

我在这里寻找最简单的解决方案.我更喜欢不需要flux诸如此类的解决方案中投入大量学习时间(http://fedext.net/ - 看起来很酷,但现在也耗费时间)

有任何想法吗?

具有内联双列内容的示例布局

php mysql typo3 fluid extbase

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

如何在实用程序文件中获取TYPO3设置?

plugin.tx_xxx {
    setting {
        storagePid = 23
    } 
}
Run Code Online (Sandbox Code Playgroud)

我想在实用程序文件中使用此TYPO3设置.请帮我.

php typo3 fluid extbase

10
推荐指数
3
解决办法
7666
查看次数

extbase存储库findAll()返回结果null

我有几个像这样的控制器:CategoryController和NewsController以及类别和新闻的域模型以及两者的reposirtories.

在NewsController中,我像这样执行dependencyInjection(与categoryController中的方法相同):

    /**
 * categoryRepository
 *
 * @var Tx_MyExtension_Domain_Repository_CategoryRepository
 */
protected $categoryRepository;


    /**
 * injectCategoryRepository
 *
 * @param Tx_MyExtension_Domain_Repository_CategoryRepository $CategoryRepository
 * @return void
 */
public function injectCategoryRepository(Tx_MyExtension_Domain_Repository_CategoryRepository $categoryRepository) {
    $this->categoryRepository = $categoryRepository;
}
Run Code Online (Sandbox Code Playgroud)

当我现在尝试这样的函数时:

    /**
 * action getCategoriesAjax
 *
 * @param Tx_MyExtension_Domain_Model_News
 * @return void
 */
public function getCategoriesAjaxAction() {
    $categories = $this->categoryRepository->findAll();
    $this->view->assign('categories',$categories);
}
Run Code Online (Sandbox Code Playgroud)

我得到一个空的结果.

对我来说奇怪的是,如果我在CategoryController中这样做,同样的函数就像魅力一样工作并返回数据库中的所有元素,对我来说更奇怪的是,如果我做一个$ this-> categoryRepository-> findByUid(1)我得到了正确的元素作为结果.

我还在我的categoryRepository中添加了一个测试函数:

public function test(){
  $query = $this->createQuery();
  $result = $query->execute();
  $amount = $result.count();
}
Run Code Online (Sandbox Code Playgroud)

如果我从categoryController调用此函数,我会返回正确数量的元素.如果我从我的newsController调用它,我得到"0"回...

我不明白......

我有什么想念??? 我的错误在哪里?

null repository findall extbase

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

Extbase - 从查询中获取创建的sql

我想从我的typo3扩展中获取一些数据库表.扩展基于extbase.

查询始终只返回数据,但数据存在

我试过这个:

$query = $this->createQuery();
$query->statement('SELECT * FROM `my_table`
    WHERE field = ? ORDER BY date DESC LIMIT 1',
    array($condition));

$results = $query->execute();
Run Code Online (Sandbox Code Playgroud)

还有这个:

$query = $this->createQuery();

$query->matching($query->equals('field', $condition));
$query->setOrderings(array('date' => Tx_Extbase_Persistence_QueryInterface::ORDER_DESCENDING));
$query->setLimit(1);

$results = $query->execute();
Run Code Online (Sandbox Code Playgroud)

两者都返回null作为结果.

是否有可能获得该类创建的sql来查找bug的位置?

我查看了一些extbase持久化类,但没有找到线索

编辑:对于那些感兴趣的人..我找到了一个"解决方案".

如果使用statement()方法创建查询,则可以使用此函数打印查询

echo $query->getStatement()->getStatement();
Run Code Online (Sandbox Code Playgroud)

它不会取代占位符.但是你可以用这种方法得到变量

var_dump($query->getStatement()->getBoundVariables());
Run Code Online (Sandbox Code Playgroud)

这是我找到的最佳解决方案,无需编辑extbase扩展

sql typo3 extbase

9
推荐指数
2
解决办法
2万
查看次数

如何使用extbase在TYPO3 CMS 6.0上引导插件?

我试图通过TYPO3 CMS 6.0上的typoscript使用extbase插件.我使用了以下代码,我在网上重复了一遍:

10 = USER
10 { 
    userFunc = tx_extbase_core_bootstrap->run
    pluginName = Sermons
    extensionName = VmfdsSermons
    switchableControllerActions {
        Sermon {
            1 = byLatestSeries
            2 = list
            3 = show
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,这只会给我以下错误:

#1289386765: Could not analyse class:Tx_VmfdsSermons_Controller_SermonController maybe not loaded or no autoloader?
Run Code Online (Sandbox Code Playgroud)

在我看来好像tx_extbase_core_bootstrap->run还没有使用命名空间,因此试图加载一个Tx_VmfdsSermons_Controller_SermonController应该调用它时调用的类\TYPO3\VmfdsSermons\Controller\SermonController.有没有解决的办法?

typo3 typoscript extbase

8
推荐指数
2
解决办法
5923
查看次数

索引搜索输出中的extbase htmltags

我使用的是TYPO3 7.6.11和indexed_search 7.6.0.

我为indexed_search使用extbase插件,在输出中它转义HTML-Tags以标记搜索词.例如,当我搜索"搜索"时,我得到这个输出:

Test text with<strong class="tx-indexedsearch-redMarkup">search</strong> pattern.
Run Code Online (Sandbox Code Playgroud)

我发现这个问题的错误修正:https://forge.typo3.org/issues/77901

但是文件PageBrowsingResultsViewHelper.php看起来并不完全一样,即使我添加变量protected $escapeOutput = false;也不会改变任何东西.

知道这是从哪里来的,我可以在哪里禁用转义?

typo3 extbase typo3-7.6.x

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

TYPO3:将多个参数传递给流体模板中的部分参数

我有一个流畅的模板,我称之为常用的代码片段(称为"部分"):

模板:

<f:render partial="fbLikeBox" arguments="{settings}"/>
Run Code Online (Sandbox Code Playgroud)

部分fbLikeBox.html:

<div id="fb-root"></div><script src="http://connect.facebook.net/xxxxxxxx"></script>
<fb:like href="{settings.baseURL}/details/?guide_uid={audioguide.uid}">
</fb:like>
Run Code Online (Sandbox Code Playgroud)

如您所见,我需要将{settings}和{audioguide}数组中的值传递给partial.我怎样才能做到这一点?

typo3 partial fluid extbase typo3-flow

7
推荐指数
2
解决办法
2万
查看次数

RealURL:从URL中删除Controller和Action

我有一个列表和显示操作的扩展名.目前此扩展程序可以显示在多个页面上:

/page-1/
/page-2/subpage/
Run Code Online (Sandbox Code Playgroud)

我已经配置了realurl这样的:

$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['realurl']=array (
    'encodeSpURL_postProc' => array('user_encodeSpURL_postProc'),
    'decodeSpURL_preProc' => array('user_decodeSpURL_preProc'),
    '_DEFAULT' => array (
        …
        'postVarSets' => array(
            '_DEFAULT' => array(
                'controller' => array(
                    array(
                        'GETvar' => 'tx_extension_plugin[controller]',
                        'noMatch' => 'bypass',
                    ),
                ),
                'extension' => array(
                    array(
                        'GETvar' => 'tx_extension_plugin[action]',
                    ),
                    array(
                        'GETvar' => 'tx_extension_plugin[controller]',
                    ),
                    array(
                        'GETvar' => 'tx_extension_plugin[value]',
                        'lookUpTable' => array(
                            'table' => 'table',
                            'id_field' => 'uid',
                            'alias_field' => 'name',
                            'addWhereClause' => ' AND NOT deleted AND NOT hidden',
                            …
);

function user_decodeSpURL_preProc(&$params, &$ref) …
Run Code Online (Sandbox Code Playgroud)

typo3 realurl extbase

7
推荐指数
2
解决办法
8985
查看次数

如何从页面uid创建页面URL

我正在开发一个typo3扩展,我想从页面ID生成一个url.目前我通过追加index.php?id=ID来创建网址$GLOBALS['TSFE']->baseURL.

有没有其他方法可以从页面ID创建一个可读的URL,如果是,它是如何做到的?

typo3 extbase

7
推荐指数
2
解决办法
9479
查看次数

TYPO3 6.2 - 如何在前端(FE)中创建FileReference?

我有假设的Zoo扩展,其中我Animal使用photo字段和FrontEnd(FE)插件与典型的CRUD操作建模.photo字段是典型的FAL FileReference,它在后端(BE)中使用常见的TCA IRRE配置完美地工作.

我能够成功将文件上传到存储,它在Filelist模块中可见,我可以在动物编辑期间在BE中使用它,无论如何我无法FileReference在我的FE插件中创建.

我目前的方法如下:

/**
 * @param \Zoo\Zoo\Domain\Model\Animal $animal
 */
public function updateAction(\Zoo\Zoo\Domain\Model\Animal $animal) {

    // It reads proper uploaded `photo` from form's $_FILES
    $file = $this->getFromFILES('tx_zoo_animal', 'photo');

    if ($file && is_array($file) && $file['error'] == 0) {

        /** @type  $storageRepository \TYPO3\CMS\Core\Resource\StorageRepository */
        $storageRepository = GeneralUtility::makeInstance('\TYPO3\CMS\Core\Resource\StorageRepository');
        $storage = $storageRepository->findByUid(5); // TODO: make target storage configurable

        // This adds uploaded file to the storage perfectly
        $fileObject = $storage->addFile($file['tmp_name'], …
Run Code Online (Sandbox Code Playgroud)

file-upload typo3 extbase typo3-6.2.x fal

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