Pimcore\Model\Translation\AbstractTranslation::clearDependentCache PHP Method

clearDependentCache() public static method

public static clearDependentCache ( ) : void
return void
    public static function clearDependentCache()
    {
        \Pimcore\Cache::clearTags(["translator", "translate"]);
    }

Usage Example

Example #1
0
 public function exportAction()
 {
     $this->checkPermission("translations");
     $admin = $this->getParam("admin");
     // clear translation cache
     Translation\AbstractTranslation::clearDependentCache();
     if ($admin) {
         $list = new Translation\Admin\Listing();
     } else {
         $list = new Translation\Website\Listing();
     }
     $list->setOrder("asc");
     $list->setOrderKey("key");
     $condition = $this->getGridFilterCondition();
     if ($condition) {
         $list->setCondition($condition);
     }
     $list->load();
     $translations = array();
     $translationObjects = $list->getTranslations();
     // fill with one dummy translation if the store is empty
     if (empty($translationObjects)) {
         if ($admin) {
             $t = new Translation\Admin();
             $languages = Tool\Admin::getLanguages();
         } else {
             $t = new Translation\Website();
             $languages = Tool::getValidLanguages();
         }
         foreach ($languages as $language) {
             $t->addTranslation($language, "");
         }
         $translationObjects[] = $t;
     }
     foreach ($translationObjects as $t) {
         $translations[] = array_merge(array("key" => $t->getKey(), "creationDate" => $t->getCreationDate(), "modificationDate" => $t->getModificationDate()), $t->getTranslations());
     }
     //header column
     $columns = array_keys($translations[0]);
     if ($admin) {
         $languages = Tool\Admin::getLanguages();
     } else {
         $languages = Tool::getValidLanguages();
     }
     //add language columns which have no translations yet
     foreach ($languages as $l) {
         if (!in_array($l, $columns)) {
             $columns[] = $l;
         }
     }
     $headerRow = array();
     foreach ($columns as $key => $value) {
         $headerRow[] = '"' . $value . '"';
     }
     $csv = implode(";", $headerRow) . "\r\n";
     foreach ($translations as $t) {
         $tempRow = array();
         foreach ($columns as $key) {
             $value = $t[$key];
             //clean value of evil stuff such as " and linebreaks
             if (is_string($value)) {
                 $value = Tool\Text::removeLineBreaks($value);
                 $value = str_replace('"', '"', $value);
                 $tempRow[$key] = '"' . $value . '"';
             } else {
                 $tempRow[$key] = $value;
             }
         }
         $csv .= implode(";", $tempRow) . "\r\n";
     }
     $suffix = $admin ? "admin" : "website";
     header('Content-type: text/csv; charset=UTF-8');
     header("Content-Disposition: attachment; filename=\"export_ " . $suffix . "_translations.csv\"");
     ini_set('display_errors', false);
     //to prevent warning messages in csv
     echo $csv;
     die;
 }
All Usage Examples Of Pimcore\Model\Translation\AbstractTranslation::clearDependentCache