Мне нужно расширить стандартные параметры статьи Joomla. Я хочу создать новую папку для изображений статьи в папке images/news /. Имя каждой новой папки будет взято из псевдонима статьи. У меня есть знания в Javascript, но я понятия не имею, как это сделать с PHP и с файлами, которые мне нужны для редактирования. Мой сайт работает на Joomla 2.5, и на данный момент я не могу его обновить. Поэтому имейте в виду этот момент.Создать новую папку в 'изображениях' с каждой новой статьей
ответ
У меня нет знаний в Joomla. Но это команда php для создания Папки:
$dirPath = 'images/news/'.$alias;
$result = mkdir($dirPath);
Хорошо, как я уже сказал, я действительно не знаю joomla. Но это не выглядит так сложно: https://docs.joomla.org/J2.5:Creating_a_content_plugin Так что я постараюсь дать вам начало. Но если есть ответ от кого-то, кто имеет опыт работы в Joomla, я бы прослушал их =)
В основном вам нужны 2 файла для вашего плагина Content. РНР Файл "myContentPlugin.php", который будет выглядеть следующим образом:
<?php
defined('_JEXEC') or die();
jimport('joomla.plugin.plugin');
class plgMyComponent extends JPlugin
{
public function __construct($subject, $config)
{ parent::__construct($subject, $config);
}
function onContentBeforeSave($context, &$article, $isNew)
{ global $mainframe;
$dirPath = 'images/news/'.$articel->alias;
$result = mkdir($dirPath);
return true;
}
}
и файл XML "myContentPlugin.xml", который будет выглядеть следующим образом:
<?xml version="1.0" encoding="utf-8"?>
<extension version="1.7" type="plugin" group="content">
<name>myContentPlugin</name>
<author>JD</author>
<creationDate>September 2011</creationDate>
<copyright>Copyright (C) 2011 JD. All rights reserved.</copyright>
<license>http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL</license>
<authorEmail>[email protected]</authorEmail>
<authorUrl>www.domain.de</authorUrl>
<version>1.7.0</version>
<description></description>
<files>
<filename plugin="myContentPlugin">myContentPlugin.php</filename>
</files>
Как найти из здесь http://forum.joomla.org/viewtopic.php?p=2607024
Итак, вот полное решение:
Добавьте флажок настраиваемого поля типа в бэкенд статьи (вы можете найти много руководств по inernet, поэтому я буду кратким), например «create_folder»;
<fieldset name="image_folder" label="Image folder">
<field name="create_folder"
type="checkbox"
label="Create automatically"
value="1"
default="0"
filter="intval"
/>
</fieldset>
Создать плагин папку с .xml и .php файлов вашего плагина (подробнее здесь: https://docs.joomla.org/J2.5:Creating_a_Plugin_for_Joomla)
Это код моего файла .php:
<?php
defined('_JEXEC') or die;
class plgContentImgDir extends JPlugin
{
public function onContentAfterSave($context,&$article){
if($context=='com_content.article'){
$folder_name=substr($article->alias,0,30);
$destination=JPATH_SITE.'/'."images/news";
if(!file_exists($destination.$folder_name)){
JFolder::create($destination.'/'.$folder_name,0755);
}
}
}
}
?>
После установки ваш плагин, вы получите дополнительную опцию в настройках своей статьи. Если флажок установлен, новая папка будет создана в каталоге «images».
- 1. Создать новую папку для каждой новой версии WIX
- 2. Создайте новую таблицу с каждой новой записью
- 3. Создание новой папки в другую новую папку
- 4. Создать новую папку с грозным
- 5. создать новую папку с php
- 6. Как создать новую папку?
- 7. Как создать новую папку?
- 8. Чтобы создать новую папку в Qml
- 9. TShellListView создать новую папку и переименовать его
- 10. Отключить «Создать новую папку» в диалоговом окне «Выбрать папку»
- 11. Возможно ли создать новую папку?
- 12. Создать новую папку при отправке по дате
- 13. Как создать новую папку с помощью php
- 14. хсора создать новую папку и переименовать
- 15. Gradle, создать новую баночку с каждой sourceset
- 16. Возможно ли создать новую папку в MediaLibrary?
- 17. Как создать новую папку в android DCIM
- 18. Возможность создать новую папку в NSUserDefaults
- 19. Как создать новую папку в Cocoa?
- 20. Как создать новую папку в проекте Devtable.com?
- 21. Как создать новую папку в Camera roll?
- 22. Как с новой статьей с blogger api по php?
- 23. Уведомление по электронной почте с каждой новой статьей на сайте wordpress
- 24. Как создать новую папку на протоколе POP3
- 25. Калитка - Создать новую папку на сессии
- 26. Как создать новую матрицу на каждой итерации?
- 27. Создать новую папку после перемещения 1 папку назад
- 28. Файл R.java не позволяет создать новую папку в проекте
- 29. php - Cpanel создать новую папку с php-кодом в cpanel
- 30. создать новую таблицу для каждой проблемы строки
Спасибо, что попробовали помочь! Ofcource Я нашел функцию mkdir в документации PHP, но я не знаю, как ее применять, когда я сохраняю свою статью. – pgasovav
что именно вы не знаете? когда его запускать? onContentAfterSave может сделать трюк. –
Да. Я не знаю, где мне нужна функция места, которая создает папку. – pgasovav