Drupal 7 Filefield Paths stdClass Hatası ve Çözümü

Blog Kategori: 

Bu hatayla Node Gallery eklentisiyle içerik düzenlerken karşılaştım. Resimleri silmem, düzenlemem, resimlere açıklama eklemem gerektiğinde sürekli bu hatayı veriyordu. "Fatal error: Cannot use object of type stdClass as array in sites/all/modules/file_aliases/modules/file_aliases/modules/filefield_paths.inc on line 33"

Çözümü için aşağıdaki yolu takip edebilirsiniz...

değişiklik yapılacak dosya /sites/all/modules/file_aliases/modules/filefield_paths.inc dosyası
--- dosyadan silinecekler
+++ dosyada silinen yere eklenecekler

@@ -29,19 +29,25 @@ function file_aliases_filefield_paths_field_settings() {
/**
* Implements hook_filefield_paths_process_file().
*/
-function file_aliases_filefield_paths_process_file($new, &$file, $settings, &$entity, $type, &$update) {
- if ($new && !empty($file['field']['filename'])) {
- $token_data = array('file' => file_load($file['field']['fid']), $type => $entity);
- $file['filealias'] = filefield_paths_process_string($settings['filealias']['value'], $token_data, $settings['filealias']);
+function file_aliases_filefield_paths_process_file($type, $entity, $field, $instance, $langcode, &$items) {
+ $settings = $instance['settings']['filefield_paths'];
+ foreach ($items as &$file) {
+ if ($file['timestamp'] == REQUEST_TIME || $settings['active_updating']) {
+ $token_data = array(
+ 'file' => (object) $file,
+ $type => $entity,
+ );

- $path = "filefield_paths/alias/{$file['field']['fid']}";
- $alias = drupal_get_path_alias($path);
- if ($alias !== $path) {
- path_delete(array('source' => $path));
+ // Process filealias
+ $file['filealias'] = filefield_paths_process_string($settings['file_alias']['file_alias'], $token_data, $settings['file_alias']['options']);
+
+ $path = array('source' => 'filefield_paths/alias/' . $file['fid']);
+ $alias = drupal_get_path_alias($path['source']);
+ if ($alias !== $path['source']) {
+ path_delete($path);
+ }
+ $path['alias'] = $file['filealias'];
+ path_save($path);
}
- path_save($path = array(
- 'source' => $path,
- 'alias' => $file['filealias']
- ));
}
}

Detayar için: https://www.drupal.org/node/1492978 adresine bakabilirsiniz...

Yeni yorum ekle

GezdeAl.com - Gezmeden Almam Diyenlerin Sitesi