Standart Joomla makale seçeneklerini genişletmem gerekiyor. 'images/news /' klasöründeki makalenin görüntüleri için yeni bir klasör oluşturmak istiyorum. Her yeni klasörün adı makalenin takma adından alınacaktır. Javascript konusunda bilgim var, fakat bunun için nasıl bir düzenleme yapmam gerektiğini PHP ve wich dosyaları ile nasıl yapabilirim. Web sitem Joomla 2.5 üzerinde çalışıyor ve şu anda onu güncelleyemiyorum. Bu yüzden lütfen bu anı aklınızdan çıkarmayın.Her yeni makalede 'images' içinde yeni klasör oluştur
cevap
Joomla hakkında hiçbir bilgiye sahip değilim. Ancak bu, bir Klasör oluşturma için php komutudur:
$dirPath = 'images/news/'.$alias;
$result = mkdir($dirPath);
Tamam dediğim gibi, gerçekten joomla'yı bilmiyorum. Ama o kadar da zor görünmüyor: https://docs.joomla.org/J2.5:Creating_a_content_plugin Size bir başlangıç vermeye çalışacağım. Ama eğer Joomla'da yetenekli birinden bir cevap varsa onları dinlerdim =)
Temelde, İçerik eklentiniz için 2 Dosyaya ihtiyacınız var. Bu gibi görünecektir
<?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;
}
}
ve bir XML dosyası "myContentPlugin.xml": Bu gibi görünecektir bir php Dosya "myContentPlugin.php"
<?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>
bulunamadı gibi burada http://forum.joomla.org/viewtopic.php?p=2607024 Yani
, burada tam bir çözümdür:
Makalenin arka ucuna özel alan türü onay kutusu ekleyin (inernet üzerinde birçok el kitabını bulabilirsiniz, bu yüzden kısa olacağım), örneğin 'create_folder'; Eğer yükledikten sonra
<?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);
}
}
}
}
?>
:
Bu benim .php dosyasının kod şudur:
<fieldset name="image_folder" label="Image folder">
<field name="create_folder"
type="checkbox"
label="Create automatically"
value="1"
default="0"
filter="intval"
/>
</fieldset>
senin Eklentinin .xml ve .php dosyaları ile eklenti klasörü (https://docs.joomla.org/J2.5:Creating_a_Plugin_for_Joomla burada daha fazla bilgi) oluştur Eklentiniz, makale ayarlarınızda ek seçenek alırsınız. Onay kutusu işaretliyse 'görüntüler' dizininde yeni klasör oluşturulacak.
- 1. ImageJ makro yeni klasör oluştur ve çıktıyı yeni klasöre kaydet
- 2. IntelliJ içinde yeni bir paket oluştur
- 3. Yeni klasör nasıl oluşturulur?
- 4. Yeni tablo oluştur seçeneği,
- 5. Yeni ArUco işaret oluştur
- 6. Yeni tabloyu oluştur SQL
- 7. Yeni kapsam oluştur örnek
- 8. Jekyll - mevcut projede yeni site scaffold oluştur
- 9. Yeni klasör için move_uploaded_file hatası
- 10. Raylarda Ruby'de yeni Tablo oluştur
- 11. Yeni sabit boyutlu vektör oluştur
- 12. jquery'yi kullanarak yeni pencere oluştur
- 13. Log4net - Her uygulama başlatıldığında yeni günlük dosyası oluştur
- 14. Tomcat her istek için yeni bir oturum oluştur
- 15. "Sıra Yeni Oluştur" iletişim kutusuna parametre ekleme
- 16. Yeni bir dizi oluştur veya sayıcıyı artır
- 17. yeni oluşturulan klasör benim uygulamadan Android
- 18. Facebook - oluştur Yeni Uygulama düğmesi yerde
- 19. iPhone Safari yer işareti yeni oturum oluştur
- 20. Eclipse eklentisi: yeni bir dosya oluştur
- 21. Belirli bir boyuta sahip yeni dosya oluştur
- 22. Varolan denetleyici için yeni bir eylem oluştur
- 23. PHP'de anahtar listeden yeni dizi oluştur
- 24. Boş/boş alan değerleriyle yeni Dataframe oluştur
- 25. Her kullanıcı için yeni sayfa
- 26. İçindeki yeni satır div içinde
- 27. Yeni etkinlik - Yeni menü
- 28. Yeni
- 29. Yeni yerleşim alanıyla yeni makro çakışmaları yerine yeni
- 30. Visual Studio - Varolan Kaynak Sihirbazı'ndan Proje Oluştururken Yeni Klasör yerine Yeni Filtre
Yardım etmeyi denediğiniz için teşekkürler! Ofcource, PHP belgelerinde mkdir işlevini bulmuştum, ancak makalemi kaydettiğimde bunu nasıl uygulayacağımı bilmiyorum. – pgasovav
tam olarak ne bilmiyorsun? ne zaman tetiklenir? onContentAfterSave hile yapabilirdi. –
Evet. Klasör oluşturmak için yer işlevine nerede ihtiyacım olduğunu bilmiyorum. – pgasovav